Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
169 KB
Nội dung
Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh PHẦN 1 Câu 1.1: Viết hàm tính tổng s = 1 + 3 + 5 + … + (2*n + 1), với n nguyên dương. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng. #include <stdio.h> #include <conio.h> int tong (int n) { int i, s=0; for (i=0;i<=n;i++) s+=(2*i+1); return s; } void main() { int n,s; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; s = tong(n); printf("Tong la: s = %d",s); getch(); } Câu 1.2: Viết hàm tính giai thừa của một số nguyên không âm. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên in ra màn hình giai thừa của n. #include <stdio.h> #include <conio.h> unsigned long int giai_thua (int n) { int i, gt=1; for (i=1;i<=n;i++) gt*=i; return gt; } void main() { int n; Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh unsigned long int gt; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; gt = giai_thua(n); printf("Giai thua cua %d la: gt[%d] = %d",n,n,gt); getch(); } Câu 1.3: Viết hàm đổi một số nguyên không âm thành xâu nhị phân. Viết chương trình nhập vào từ bàn phím số nguyên không âm n, áp dụng hàm trên in ra màn hình xâu nhị phân tương ứng. #include <stdio.h> #include <conio.h> int np(int n) { int i,m, snp; m=128; for(i=0; i<=7; i++) {snp= n/m; printf("%d",snp) ; n = n- snp*m; m= m/2; } return snp;} void main() { int n; printf("Moi ban nhap N="); scanf("%d", &n); np(n); getch(); } Câu 1.4: Viết hàm tính tổng s = 2 + 4 + 6 + … + 2*n, với n nguyên dương. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng. #include <stdio.h> #include <conio.h> int tong (int n) { Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh int i, s=0; for (i=1;i<=n;i++) s+=(2*i); return s; } void main() { int n,s; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; s = tong(n); printf("Tong la: s = %d",s); getch(); } Câu 1.5: Viết hàm đổi một số nguyên không âm thành xâu Hecxa. Viết chương trình nhập vào từ bàn phím số nguyên không âm n, áp dụng hàm trên tìm và in ra màn hình xâu Hecxa tương ứng. #include <conio.h> #include <stdio.h> void hexa(int n) {int i=0,j=0; int a[20]; while (n!=0) {a[j]=n%16;n=n/16;j++;} for(i=j;i>=0;i ) {if (a[i]<10) printf("%d",a[i]); else switch (a[i]) {case 10: printf("A");break; case 11: printf("B");break; case 12: printf("C");break; case 13: printf("D");break; case 14: printf("E");break; case 15: printf("F");break; } } } void main() {clrscr(); int n; Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh tiep:printf("\nBan hay nhap so can chuyen doi: "); scanf("%d",&n); if (n<0) goto tiep; printf("\n\nMa Hexa cua so vua nhap la: "); printf("\n\n\t\t"); hexa(n); printf("\n\nChuc vui. Copyright Hiro ^^"); getch(); } Câu 1.6: Viết hàm tính tổng s = 13 + 23 + + n3, với n nguyên dương. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng #include <stdio.h> #include <conio.h> #include <math.h> int tong (int n) { int i, s=0; for (i=1;i<=n;i++) s+=i*i*i; return s; } void main() { int n,s; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; s = tong(n); printf("Tong la: s = %d",s); getch(); } Câu 1.7: Viết hàm kiểm tra tính nguyên tố của một số nguyên dương. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên hãy cho biết n có phải là số nguyên tố hay không? #include <stdio.h> #include <conio.h> #include <math.h> int so_ngto (int n) Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh { int i,kt=1; if (n==1) kt=0; for (i=2;i<(int)(n/2);i++){ if (n%i == 0) return kt=0; break; } return kt; } void main() { int n; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; if (so_ngto(n) == 1) printf("So %d la so nguyen to!",n); else printf("So %d khong phai la so nguyen to!",n); getch(); } Câu 1.8: Viết hàm tính tổng s = 1*2*3 + 2*3*4 + + n*(n+1)*(n+2), với n nguyên dương. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên tính và in ra màn hình tổng tương ứng. #include <stdio.h> #include <conio.h> #include <math.h> int tong (int n) { int i, s=0; for (i=1;i<=n;i++) s+=i*(i+1)*(i+2); return s; } void main() { int n,s; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh if (n<=0) goto nhap; s = tong(n); printf("Tong la: s = %d",s); getch(); } Câu 1.9: Viết hàm kiểm tra tính hoàn thiện của một số nguyên dương. Viết chương trình nhập vào từ bàn phím số nguyên dương n, áp dụng hàm trên thông báo ra màn hình số n có phải là số hoàn thiện hay không? #include <stdio.h> #include <conio.h> int so_hoanthien (int n) { int i,s=0; for (i=1;i<=(n/2);i++) if (n%i == 0) s+=i; if (s==n) return 1; return 0; } void main() { int n; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; if (so_hoanthien(n) == 1) printf("So %d la so hoan thien!",n); else printf("So %d khong phai la so hoan thien!",n); getch(); } Câu 1.10: Viết hàm tìm số bé nhất của 3 số thực. Viết chương trình nhập vào từ bàn phím 3 số thực x, y, z, áp dụng hàm trên tìm và in ra màn hình số bé nhất của 3 số vừa nhập. Câu 1.11: Viết hàm giải và biện luận phương trình bậc hai ax 2 + bx + c = 0. Viết chương trình nhập vào từ bàn phím ba số thực a, b, c, áp dụng hàm trên cho biết kết quả giải phương trình bậc hai với ba hệ số a, b, c vừa nhập Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh #include <stdio.h> #include <conio.h> #include <math.h> void giai_ptb2(float a, float b, float c) { float delta; if (a!=0) { delta = b*b - 4*a*c; if (delta>0) printf("Phuong trinh co 2 nghiem thuc phan biet: x1 = %5.2f, x2 = %5.2f",(-b-sqrt(delta))/(2*a),(-b+sqrt(delta))/(2*a)); else if (delta==0) printf("Phuong trinh co 2 nghiem thuc chung: x1 = x2 = %5.2f",(-b)/(2*a)); else printf("Phuong trinh khong co nghiem so thuc."); } else if (b!=0) printf("Phuong trinh co mot nghiem thuc: x = %5.2f",- c/b); else if (c==0) printf("Phuong trinh co vo so nghiem thuc."); else printf("Phuong trinh khong co nghiem so thuc."); } void main() { float a,b,c; clrscr(); printf("Nhap a: a = "); scanf("%f",&a); printf("Nhap b: b = "); scanf("%f",&b); printf("Nhap c: c = "); scanf("%f",&c); giai_ptb2(a,b,c); getch(); } //nuyen bui hau #include <stdio.h> #include <conio.h> #include <math.h> void bh(float a, float b,float c) Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh { float dt; if (a!=0) { dt = b*b-4*a*c; if (dt>0) printf("PT co 2 nghiem phan biet: x1=%f x2=%f", (-b-sqrt(dt))/2/a,(-b+sqrt(dt))/2/a ); if (dt == 0) printf("PT co nghiem kep x= %f", -b/2/a); if (dt <0) printf("PT VN"); } else if (b!=0) printf("Ngiem duy nhat: x= %f",-c/b); else if (c!=0) printf("Vo li"); else printf("Vo so nghiem"); } void main() { clrscr(); float a,b,c; printf("\nNhap 3 so: "); scanf("%f%f%f", &a, &b, &c); bh(a,b,c); getch();} Câu 1.12: Viết hàm kiểu int kiểm tra xem 3 số thực có thể lập thành 3 cạnh của một tam giác hay không? Viết chương trình nhập vào từ bàn phím 3 số thực a, b, c, áp dụng hàm trên thông báo ra màn hình 3 số vừa nhập có tạo thành 3 cạnh của một tam giác hay không? #include <stdio.h> #include <conio.h> int tg(int a, int b, int c) { int kt =1; if ((a+b <= c) || (a+c <= b) || (b+c <= a)) return kt =0; return kt; } void main() { clrscr(); int a, b,c; printf("\nMoi ban nhap 3so can kt: "); scanf("%d%d%d", &a, &b,&c); Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh if (tg(a,b,c) == 1) printf ("3 so %d %d %d lap thanh 3 canh cua tam giac", a,b,c); else printf("3 so %d %d %d khong lap thanh 3 canh cua tam giac", a,b,c); getch(); } Câu 1.13: Viết hàm đếm số từ trong một xâu ký tự chuẩn (xâu chuẩn theo nghĩa các từ trong xâu được ngăn cách bởi một dấu cách trống). Viết chương trình nhập vào từ bàn phím một xâu ký tự chuẩn s, áp dụng hàm trên thông báo ra màn hình số từ của xâu. #include <stdio.h> #include <conio.h> int sotu(char *s) { int i=0,n=0; while (s[i]!='\0') { if (s[i]==' ') n++; i++; } return n+1; } void main() { char *s; clrscr(); printf("Nhap vao mot xau ki tu: "); gets(s); printf("So tu trong xau vua nhap la: %d",sotu(s)); getch(); } Câu 1.14: Viết hàm tính số fibonaxi thứ n. Viết chương trình nhập vào từ bàn phím số nguyên dương n. Áp dụng hàm trên tìm và in ra màn hình số fibonaxi tương ứng. #include <stdio.h> #include <conio.h> int so_fibonaxi (int n) { Tài liệu ôn thi Lập trình C. Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại học Vinh if ((n==1) || (n==2)) return 1; return so_fibonaxi(n-1) + so_fibonaxi(n-2); } void main() { int n,f; clrscr(); nhap: printf("Nhap n: n = "); scanf("%d",&n); if (n<=0) goto nhap; f = so_fibonaxi(n); printf("So fibonaxi thu %d la: %d",n,f); getch(); } Câu 1.15: Viết hàm có kiểu void nhằm đổi chỗ giá trị hai biến thực cho nhau. Viết chương trình nhập vào từ bàn phím hai số thực x, y, áp dụng hàm trên để đổi chỗ giá trị hai biến x, y cho nhau. In ra màn hình giá trị của x và y trước và sau khi đổi chỗ. #include <stdio.h> #include <conio.h> void doicho(float *x, float *y) { float temp; temp = *x; *x = *y; *y = temp; } void main() { float a,b; clrscr(); printf("Nhap so thuc a: a = "); scanf("%f",&a); printf("Nhap so thuc b: b = "); scanf("%f",&b); printf("\n\n\nTruoc khi doi cho.\n\n\ta = %4.2f\n\tb = %4.2f",a,b); doicho(&a,&b); printf("\n\n\nSau khi doi cho.\n\n\ta = %4.2f\n\tb = %4.2f",a,b); getch(); } [...]... %d",so_kytu_hoa(s)); getch(); } C u 1.19: Viết hàm đổi c c chữ c i in hoa c a một xâu ký tự thành chữ c i in thường Viết chương trình nhập vào từ bàn phím xâu ký tự s, áp dụng hàm trên đổi c c chữ c i in hoa c a xâu s thành chữ c i in thường In ra màn hình xâu trư c và sau khi đổi #include Tài liệu ôn thi Lập trình C Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại h c Vinh #include #include ... Hậu Lớp 48A Khoa CNTT Trường Đại h c Vinh } getch(); C u 3.2: Cho c u tr c phân số gồm tử số và mẫu số như sau: struct PS {int tu, mau;}; - Viết hàm tạo phân số - Viết hàm in phân số dạng tu/mau - Viết hàm tính hiệu hai phân số, kết quả trả về phân số Viết chương trình sử dụng c c hàm trên nhập hai phân số, tính và in ra màn hình hiệu c a chúng #include #include int ucln(int a, int... trình C Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại h c Vinh C u 1.16: Viết hàm tìm ư c chung lớn nhất c a 2 số nguyên dương Viết chương trình nhập vào từ bàn phím 2 số nguyên dương a và b, áp dụng hàm trên tìm và in ra màn hình ư c chung lớn nhất c a chúng #include #include #include int ucln(int x, int y) { x = abs(x); y = abs(y); if (x==y) return x; if (x>y) return ucln(x-y,y);... Lập trình C Nguyễn Bùi Hậu Lớp 48A Khoa CNTT Trường Đại h c Vinh clrscr(); int m,n, a[M][N]; printf("\nMoi ban nhap m,n:"); scanf("%d%d", &m,&n); nhap(a,m,n); in(a,m,n); tonghang(a,m,n); getch();} C u 2.19: Viết chương trình nhập vào một mảng hai chiều anxm gồm c c số nguyên Tính và in ra màn hình tổng c a c c phần tử trên mỗi c t #include #include #define M 100 #define N 100 void... %5.2f",min(A,n,m)); getch(); } C u 2.17: Viết chương trình nhập vào một mảng hai chiều anxm gồm c c số nguyên Hãy xây dựng ma trận b là ma trận chuyển vị c a a In ra màn hình hai ma trận a và b C u 2.18: Viết chương trình nhập vào một mảng hai chiều anxm gồm c c số nguyên Tính và in ra màn hình tổng c a c c phần tử trên mỗi hàng #include #include #define M 100 #define N 100 void nhap(int... (x>y) return ucln(x-y,y); return ucln(x,y-x); } void main() { int a,b ,c; clrscr(); nhap: printf("Nhap a: a = "); scanf("%d",&a); printf("Nhap b: b = "); scanf("%d",&b); if ((a . la: %d",so_kytu_hoa(s)); getch(); } C u 1.19: Viết hàm đổi c c chữ c i in hoa c a một xâu ký tự thành chữ c i in thường. Viết chương trình nhập vào từ bàn phím xâu ký tự s, áp dụng hàm trên đổi c c chữ c i in hoa c a xâu. & ;c) ; bh(a,b ,c) ; getch();} C u 1.12: Viết hàm kiểu int kiểm tra xem 3 số th c có thể lập thành 3 c nh c a một tam gi c hay không? Viết chương trình nhập vào từ bàn phím 3 số th c a, b, c, áp. a,b ,c) ; getch(); } C u 1.13: Viết hàm đếm số từ trong một xâu ký tự chuẩn (xâu chuẩn theo nghĩa c c từ trong xâu đư c ngăn c ch bởi một dấu c ch trống). Viết chương trình nhập vào từ bàn phím một xâu ký tự chuẩn