1. Trang chủ
  2. » Giáo Dục - Đào Tạo

MỘT SỐ BÀI TẬP NGÔN NGỮ C++ potx

12 566 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 233,83 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

C++ Bài toán 1: tính chu vi ,diện tích ,đg cheo và chu vi hình tròn ngoại tieps hcn,theo 2 canh nhậpvào từ band phím.

Trang 1

C++

Bài toán 1: tính chu vi ,diện tích ,đg cheo và chu vi hình tròn ngoại tieps hcn,theo 2 canh

nhậpvào từ band phím

Giải :

#include <iostream.h>

#include<conio.h>

#include<math.h>

main()

{ clrscr();

f load a,b,d;

cout<<”\n nhap vao 2 canh ”;

{cin >> a >> b;

if (a>0&b>0) cout<<”\n vao lai”;}

while (a<=0//b<=0);

{ d=sqrt(a*a+b*b);

cout<<”\n chu vi ”>>2*(a+b);

cout<<”\n dien tich la ”>>a*b;

cout<<”\n đg cheo la ”>>d;

cout<<”\n chu vi hinh tron la ”>>M_PI*d; }

else cout<<”n du lieu vao khong hop le” ;

getch();

return ; }

Bài toán 2: tìm UCLN của 2 số nguyên dạng a, b

Chương trình:

#include <iostream.h>

#include<conio.h>

main()

{ clrscr();

int a.b;

cout<<”\n nhap vao 2 so ”;

{ cin>>a>>b;

ìf (a<=0//b<=0) cout <<”\n vao lai”;}

while (a=b) ;

cout<<”\n UCLN (‘’<<a<<”,”<<b<<”)=”;

while (a=b) if (a>b) a=a-b;

else b=b-a ; cout<<a;

getch()}

Bài toán 3: tính = 2009 + 2008 + ⋯ + √5

Chương trình:

#include<iostream.h>

#include<conio.h>

#include<math.h>

main()

Trang 2

{ clrscr()

ìnf k ; fload S=∅;

for (k=5, k<=2009, k++) S = sqrt(S+k);

cout<<”\n dap so la ”<<S;

getch(); }

b) tính = 9 + 10 + ⋯ + √500

Chương trình:

#include<iostream.h>

#include<conio.h>

#include<math.h>

main()

{ clrscr()

ìnf k ; fload C=∅;

for(k=500, k>9, k ) C=sqrt(c+k);

cout<<”\n dap so la ”<<c

getch(); }

Bài toán 4:Viết phương trình giải bài toán vừa gà vừa chó bó lại cho tròn 36 con 100 chân

chắn Tìm gà và chó

Chương trình:

#include<iostream.h>

#include<conio.h>

void main()

{ clrscr()

inf ga;

for (ga=0, ga<=36, g++ )

if(2*ga+4*(36-ga)=100)) cout<<”\n”

<<ga<<”con ga”<<36-ga<<”con cho”

getch(); }

Bài toán 5: trăm trâu trăm cỏ trâu đứng ăn năm,trâu nằm ăn ba, lụ khụ trâu già 3 con 1 bó

chương trình:

#include<iostream.h>

#include<conio.h>

void main()

{ clrscr()

ìnf d,n;

for (d=0, d<=20, d++)

for(n=0, n=<=33, n++ )

if(5*d+3*n+(100-d-n)/3 ∅ == 100)

cout<<”\n”<<d<<”trau dung”<<n<<”trau nam”<<100-d-n<<”trau gia”;

getch() }

Bài tập 6: viết chương trình cho người ta nhập vào một số nguyên máy thong báo tổng các chữ

số của nó y/c viết một hàm tính tổng v\cá chữ số

chương trình:

#include<iostream.h>

#include<conio.h>

Trang 3

inf t chuso (int);

void main()

{int n ; clrscr();

do { cout <<”\n……nhap vao so N=”;

cin >>u; iF(n<1)break;}

cout<<”\n”<<u<<”co trong cac chu so la”<<+ chu so(u);

while(5);}

int t chuso (int k)}

int T=∅;

while (k>0)

{ T+= K% 10;

K=K/10 } } return T;

Bài tập 7: viêt chương trình để người dung nhập vào 2 số nguyên a,b may sẽ in ra UCLN của 2

số dó y/c chương trình chay liên tục đên khi người ta nhập vào a ỏ b <1 thì thoat ra khỉ chương trình

Chương trình :

#include<iostream.h>

#include<conio.h>

inf ucln (int,int);

void main ()

{int a,b; clrscr();

do { cout <<”\n… nhap vao 2 so ”;

cin>>a>>b;

if (a<1//b<1) break;

cout <<”\n UCLN (“<<a<<”,”<<b<<”)=”<<UCLN(a,b); }

while (1);

} int UCLN (inf x, int y)

{while (x!=y)

if (x>y) x=x-y;

else y=y-x;

} return x;

Bài toán 8:viết chương trình cho người dung nhập vào số nguyên n đưa lên tổn các ước của n

,y/c chương trình chạy lien tục khi nào nhập số < 1 thì thoát

Chương trình:

#include<iostream.h>

#include<conio.h>

int TU (int);

void main ()

{ int a; clrscr;

do { cout <<”\n … nhap vao so a”; cin>>a;

ìf (a<1) break;

cout (“\n ”<<a<<”co tong cac uoc la”<<TV(a);

while (1);

} int TV (int a)

for (v=1,u<=a;u++)

Trang 4

if (a%u=0)T+=U;

return T;}

for (u=1; u<=a/2; u++) (không thấy viết j nưa fai hỏi lai)

MẢNG MỘT CHIỀU

Bài tập1: viêt CT nhập vào 1 day gồm n số thực , đêm xem trong dãy đó có bao nhiêu số lớn

hơn số sau cùng của dãy

VD: 15 25 -100 46 72 5 84 20

0 1 2 3 4 5 6 7

CT:

#include<iostream.h>

#include<conio.h>

const n=8;

fload A[n]; int K, dem =∅;

void main()

{ clrscr (); for (k=∅; k<n; k++)

{cout <<”\n A[“<<K<<”]=”;

cin >>A[k];}

for (k=∅; k<n-1; k++) if (A[k]>A[n-1]) dem++;

cout << “\n so pt lon hon pt sau cung la ”<<dem;

getch(); }

Bài tập: 2 viết phương trình cho may làm những việc sau :

a) nhận vào mảng A,B đều là mảng một chiều có u phân tử là nghiệm số nguyên << n<<702

b) gọi P(x) là tổng các chữ số của K

VD: P(485)=17

c) xd mảng C có n phần tử sch ( [i]=P(A[i])+ P(B[i] ) )

0=< i =<

d) in lên các phân tư nguyên tố cung nhau vứi phần tử đầu tiên của mảng

Công việc Nhập vào 1 mảng ktra phân tử vào 2 lần A,B

- Hàm tinhd tổng các chứ số

- XD mảng C thông qua mảng A,B

- ktra 2 số có nguyên tố ko , duyệt 3 lần A,B,C

- hàm in kq : in lại toán bộ các phần tử của mảng 1 dong ko dinh với nhau

Chương trình : #include<iostream.h>

#include<conio.h>

Trang 5

cont n= 6

I nt a[n] , b[n], c[n], K;

void nhap int x[], chảr;

int P(int);

void mang c();

int ntcn (int, int)

void in kq (int y[], char);

void main ()

{ clrscr; nhap (a,”A”)’

nhap(b,’B’); mang C();

in kq (a,’A’); in kq (b,’B’); in kq (c,’C’);

getch(); }

void nhap (int x[], char T)

{ cout << (“n… nhap mang “<<T<<”…n”);

for (K=∅, K<n; k++)

do { cout << (“\n”<<T<<”i”<<K<<”J=”);

cin >>x[K];

ìf (x[K]< 3//x[K]>701)

cout <<”moi vao lai”; }

} while (x[K]<3//x[K]>701);

int P(int K)

{ int T=∅ ; while (k>0)

{ T+= K%10;

K=K/10; } return T; }

void mang C()

{ for (k=0; k< n; k++)

C[K]= P(a[K]+ P(b[K])); }

int ntcn (imt x, int y)

{ while (x!=y) if (x>y) x=x-y;

else y=y-x;

return x==1; }

Bài tập: 3 viết chương trình nhập vào mảng a gồm 10 phân tử , mảng B có 7 phần tử là số

nguyên > 2 và nho hơn 702 sx các phân tử của từng mảng theo tt tăng dần

Chương trình : #include<iostream.h>

#include<conio.h>

conts na=10 ,nb=7;

int a[na], b[nb], k;

void nhap (int x[],char, int);

void sap xep (int x[], int);

void Inkq (int y[], char, int);

void main()

{ clrscr(); nhap(a,’A’,na);

nhap(b,’B’,nb);

Inkq(a,’A’,na); Inkq (b,’B’nb);

getch(); }

Trang 6

void nhap (int x[], char T, int n);

{ cout <<”\n….nhap mang “”<<T<<”,….\n;

for (k=0;k,n;k++)

do { cout <<”\n”<<T<<”I”<<K<<”J”;

cin >> C[k];

if (x[k]<3 // x[k]>701))

cout << “\n moi vao lai”; }

while (x[k] < 3 // x[k]>701 );

void sap xep (int x[], int n);

{ int I,j,k,tg;

for (i=0, i<n-1, i++)

if (x[k]> x[j]) k=j;

if (k>i) { t[i] ; x[i]=x[k]; x[k]=tg } }}

void Inkq (int y[y], char T, int n)

{ cout <<”\n\n……mang”<<T<<”….\n”;

for (k=∅; k< n ; k++) cout << y[k]<<” ”;

cout <<<”\n…….mang”<<T<<”… da sa la \n\n”;

sap xep (y,n);

for (k=∅; k< n; k++) }

Bài tập: 4 viết chương trình nhập vào mảng có u ftử là số những số thực n>7 tìm gt mãx, min,

của mảng

CT: #include<iostream.h>

#include<conio.h>

const n= 8

fload M[n],max,min;

void main()

{ clrscr()

int k;

cout <<”\n nhap vao cac ptu cua mang M\n\n\n”;

for (k=∅ , k<n, k++)

{ cout <<”\n”M[“<<k”]=”;

cin >> M[k] }

max=M[0];mon=M[0];

for (k=1; k<n; k++)

{ if (min> M[k]) min = M[k] }

Bài tập 5 viết CT nhập vào mảng A có n phân tử là các những số nguyên >2 và < 2009 (n>8)8

vsoos phần tử lẻ và số ptư chắn của mảng A

8) continue gập lệnh này máy bỏ qua phần còn lại sau continue để tiếp tục vòng lặp

VD: nhập vào mảng n số nguyên , tính tổng các số đó

CT: : #include<iostream.h>

#include<conio.h>

void main ()

const int n=11;

{ clrscr;

int k ,T=0, x;

for (k=1; k<=n; k++)

Trang 7

{ cout <<”\n nhap vao so thu”<<K<<” ”;

cin >>x; if (x<=0) continue;

T+=x; }

cout <<”\n dap so la”<<T;

getch() ; }

HÀM

Bài 1:

Tính chu vi , dt,dg cheo và chu vi dtr ngoại tiếp hcn theo haikichs thước của nóp đc nó nhập vào từ bàn phím

CT: #include <iostream.h>

#include <conio.h>

#include <math.h>

fload a,b,c;

voidnhap();

i oit khh();

void tinh();

void main()

{ clrscr (); nhap();

tinh();

getch(); }

void nhap ()

{ cout <<”\n nhap haicanh”)

do { cin>>a>>b;

if (khl())cout << “\n moi vao lai”; }

while(khl()); }

int khl()

{return (a<=0//b<=0) }

void tinh ()

{ d=sqrt(a*a+b*b);

cout<<”\n chu vi la”<<2*(a+b);

cout <<”\n dt la ”<<a*b;

cout <<”\n dg cheo la ” sqrt (a*a+b*b);

cout <<”\n chu vi dg tron la ”<<M_PI*d; }

2) Hàm có tham số

Bài 2: Tính chu vi , dt , dg cheo và chu vi dtron ngoạit tiếp hcn theo 2 kích thước của nó

H1: a1, b1; H2:a2,b2; H3: a1+a2, b1+b2 tính tổng các diện tích 3 hinh

CT:

#include <iostream.h>

#include <conio.h>

#include <math.h>

fload a1,b1,a2,b2 S=∅;

void nhap (float&,float&,int k);

Trang 8

int khl(float, float);

void tinh (int, float float);

void main()

{clrsr(); nhap (a1,b1,1); nhap (a2,b2,2);

tinh(1,a1,b1); tinh(a2,b2,2); tinh (3,a1+a2,b1+b2);

cout <<”\n\n tong dt 3hinhla”<<S;

getch();

{ void nhap (float& a,float& b, int k)

{ cout <<”\n nhap 2 canh cua thu”<<k<<”\n”;

do { cin >>a>>b;

if (khl(a,b))cout<<”\n moi vao lai”; }

while (khl(a,b)); }

boit khl (float a,float b)

{ float d, dt;

cout <<”\n…hinh thu”<<J<<” “;

d=sqrt(a*a+b*b); dt=a*b;

cout <<”\n chu vi la”<<2*(a+b);

cout <<”\n dt la”<<dt;

cout <<”\n dg cheo la”<<d;

cout <<”\n chu vi dg tron la “<<M_PI*d;

S+=dt }

Bài 3: Viết ct nhaapj vào 1 số ng dg thong báo xem số dó có phải là SNT ko.CT chay lt cho dên

khio ngươi ta nhập vào số = 0 thì thoat khỏi vòng lặp

CT:

#include <iostream.h>

#include <conio.h>

void main ()

{ clrscr();

loit ngto (int);

loit k;

do {cout <<”\n nhap vao so k=”;

cin >>k; if (k<=0) breadk;

if (ngto(k)) cout <<”\n<<k<<”la so nto”;

else cout <<”\n”<<k<<”ko la sont”; }

while (1);

int ngto (int n);

{ int u,d;

d=0;

for (u=0,u<=u,u++)

if (u%u=0) d++;

return (d==2) }

Bài 4: Tính chu vi ,dt của hcn theo 2 cạnh của no biết

H1 co2 kích thước a1.b1

H2 ‘’’’’’’’’’’’’’’’’’ a2, b2

H3’’’’’’’’’’’’’’’’’’’ a1+a2,b1+b2

CT

Trang 9

#include <iostream.h>

#include <conio.h>

float a1.a2,b1,b2

void nhap (float*,float*,int);

int khl (fload, fload);

void tinh (int, float , float);

void main()

{ clrscr; nhap (&a1,&b1,1);

nhap (& a2,&b2,2);

tinh (1,a1,b1); tinh (2,a2,b2);

tinh (S,a1+a2,b1+b2);

gettch(); }

void nhap (float*a,float*b,int k)

{ cout <<”\n nhap vao 2 canh hinh thu ”<<k<<”\n”;

do {cin >>*a>>*b;

if (khl(*a,*b)) cout <<”\n moi vao lai”; }

while (khl(*a,*b)); }

void tinh (int J, float a, float b)

{ cout <<”\n ………chu vi ”<<J<<”…….\n”;

cout <<”\n chu vi la”<<2*(a+b);

cout <<”\n dien tich la ”<<a*b; }

int khl(float a, float b)

{ return a<=0//b<=0; }

II- Mảng Hai Chiều

Bài 1: Đi thi sao mai điểm hẹn co m thi sinh co SBD từ 1 đến n Có u giam khao ngồi ở các vị trí

đánh số từ 1….n Mối thí sinh hat 1 bài đc các giám khao cho điểm độc lâp với nhau điểm TBC của n đ tp la kết quả cua thi sinh đó sau khi vào điểm cho m thi sinh hỏi ban giấm khảo xem điểm chuẩn là bao nhiêu rồi hiện lên màn hình nhơngx SBD đc vào chung khảo

CT:

#include <iostream.h>

#include <conio.h>

#include<iomanip.h>

cónst m=4,n=3;

float D[m][n+1],T;

int j,k ;

void main ()

{ clrscr ();

cout <<”\n\n nhap diem cua tung em \n\n”;

for (j=0;j<m;j++)

{ T=∅ ;

for (k=d;k<n;k++)

cout <<”D[”,<<j+1<<”][“<<k+1<<”]=”;

cin >> D[j][k];T+=D[j][k];}

D[j][n]=T/n; }

{ coaut <<”\n\n day la bang diem \n\n”;

for (j=∅;j<m;j++)

Trang 10

caout <<setw(8)<<set precision(2)<<D[j][k];

cout <<”\n\n” }

cout <<”\n\n xincho biet diem chuan ?\n”; cin >>T;

cout<<”\n nhung em co so bao danh sau dc vao trung khao\n ”;

getch(); }

Bài 2: Viết CT cho may người vao mảng 2 chieu m dong n cột là các số thực (m>2,n>5)

tìm GT phân tử min max của mảng

CT:

#include <iostream.h>

#include <conio.h>

#include<iomanip.h>

const m=5,n=6;

float a[m][n]; min, max;

int j,k;

void main()

{ clrscr;

cout <<”\n\n nhap vao pt cua mang \n\n”;

for (j=0; j<m ; j++)

{ cout <<”D[”,<<j<<”][“<<k<<”]=”;

cin >>D[j][k]; }

cout <<”\n\n day la mang \n\n”;

{for (j=0; j<m; j++)

{ for (k=0;k<n;k++)

cout <<set co(8)<<set precision(2)<<D[j][k];

} cout <<”\n\n”

min=A[0][0]; max=A[0][0];

for(j=0; j<m ;j++)

{if (min>A[j][k]) A[j][k]= max;

if (min>A[j][k]) A[j][k]= min }

{ cout <<”\n\n pt lon nhat la \n\n”<<max;

cout <<”\n\n pt nho nhat la \n\n”<<min;

getch() }

Bài 3: Viết CT cho máy nhập vào mảng A coa m dong ncootj, m>4,n>5, cá pt là số nguyên lớn

hơn 3 nhỏ hơn 701

CT:

#include <iostream.h>

#include <conio.h>

#include<iomanip.h>

const m=5, n=6;

int A[m][n],j,k;

int ngto(int);

void main()

{ clrscr();

cout <<”\n\n nhap mang \n\n”;

for (j=0; j<m ; j++)

for(k=0; k<n; k++)

Trang 11

do { cout <<”A[“, <<j<<”][“<<k<<”]=”;

cin>> A[j][k];

if (A[j][k]<3//A[j][k]>701)cout <<”moi vao lai”;} while (A[j][k]<3//A[j][k]>701);

cout <<”\n\n day la mang \n\n”;

for (j=0; j<m; J++)

{for (k=0;k<n;k++

cout <<set co(8)<< A[j][k]; }

cout <<”\n\n”;

cout << “cac SNT la\n\n”;

for (j=0; j<m; j++)

for (k=0; k<m; k++)

if (ngto (A[j][k]))cout << A[j][k]<<” ”;

getch}

int ngto (int n)

{ int u, dem =∅;

for (u=1;u<=n;u++)

if (n%u==0)dem++;

return dem ==2; }

Ngày đăng: 25/07/2014, 01:20

TỪ KHÓA LIÊN QUAN

w