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

Đ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

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 . 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() { 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> 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++) 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> 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(); } 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++) { 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); 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 #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++) 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++) . 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 vcá chữ số chương trình: #include<iostream.h>. (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. 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ố

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

TỪ KHÓA LIÊN QUAN

w