Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
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ố