[Share] tổng hợp các bài tập c căn bản

21,845 views

Published on

1 Comment
18 Likes
Statistics
Notes
  • Thanks for post!. Mình tìm được blog luyện bài tập lập trình C/C++ khá hay. http://vncoding.net/bai-tap-lap-trinh-cc/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
21,845
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
1,630
Comments
1
Likes
18
Embeds 0
No embeds

No notes for slide

[Share] tổng hợp các bài tập c căn bản

  1. 1. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Thiết lập chung Thoát Diễn đàn Hosting Up ảnh Đề Thi Clip Xem Phim TiViOnline Game 0 Bài viết mới Tin nhắn riêng Hỏi - Đáp Lịch Cộng đồng Hoạt động Diễn đàn Liên kết Nhanh Diễn đàn KHO EBOOK LẬP TRÌNH WEB EBOOK LTRÌNH NGNGỮ LTRÌNH C / C++ [Share] Tổng hợp các bài tập C căn bản Kết quả 1 đến 6 của 6 Chủ đề: Tổng hợp các bài tập C căn bản Công cụ Chủ đề Tìm Chủ đề Đánh giá Chủ đề Hiển thị 03-22-2012 09:23 PM #1 Mr.Chaosq10 Online Tổng hợp các bài tập C căn bản Tổng Quản EbookSo1.Com 0 Chủ Đề: Tổng hợp các bài tập C căn bản ►Lượt Xem: 43 ►Trả Lời: 5 ►Chia Sẽ: ►Ngày Gửi: 03-22-2012 ►Đánh Giá: Sao Tổng hợp các bài tập C căn bản I. Bài tập C(lệnh điều khiển for, while, if, switch) 1.Tổng (-1)^(n-1).n/n!. 2.Tổng (-1)^(n-1).n/(1+2+…+n). 3.Tổng (-1)^(n-1).n/x^(1+2+..n). 4.Nhập năm Dương lịch in ra năm Âm lịch. 5.UCLN_BCNN. 6.Chuyển số thập phân sang nhi phân. 7.Tìm thứ của một ngày, tháng trong năm II.Bài toán in tam giác (for lồng) 1.Tam giác cân bằng kí tự *. Thành Viên Thứ: 1 3.Tam giác bằng kí tự A,B,C.... III.Định thức và ma trận nghịch đảo. Ngày tham gia: Feb 2011 1.Ma trận nghịch đảo. 2.Giải hệ phương trình bẳng thuật toán Gauss-Jodan. Đang ở: Thanh 3.Giải hệ phương trình tuyến tính. Chương-Nghệ An IV.Bài tập C( Hàm) 1.Giai thừa. Nghề Nghiệp: Sinh Viên 2.In số nguyên tố. 3.UCLN, BCNN của n số nguyên dương. Họ Tên: Nguyễn Thịnh Chiến 4.Tổng các chữ số của số n nguyên dương. 5. Kiểm tra "số nguyên tố hoàn hảo" Giới Tính: Nam V.Bài tập C(Mảng và chuỗi). 1.Tính tổng 2 ma trận. Sở Thích: Nghe Nhạc 2.Tính tích 2 ma trận. 3.Hoán vị 2 chuỗi. Bài viết: 4,138 4.Sắp xếp chuỗi tăng dần. 5.Tam giác pascal. Thanks: 1,236 6.Năm Âm <-> Dương lịch. 7.Tìm số hạng thứ n (đệ quy). Thanked 1,940 Times in 1,031 Posts 8.SortPrimes Nick Yahoo : Chien_siquantre 9.Chèn phần tử vào mảng, xóa các SNT có trong mảng. 10.Trộn 2 mảng và xóa phần tử trùng trong mảng VI.Bài tập C(Kiểu struct). 1.Quản lý nhân viên. 2.Quản lý sinh viên. 3.DS xếp loại sinh viên. 4.Các phép tính trên n phân số VII.Đệ quy và con trỏ 1.Liệt kê các phần tử giống nhau trong mảng.(con trỏ) 2.Đổi số thập phân sang cơ số khác. 3.Tháp Hà Nội. 4.Tính tổng các chữ số của số n. 5.Tam giác pascal Các bạn có thể down về tại đây1 trong 16 4/21/2012 8:26 PM
  2. 2. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... http://www.mediafire.com/?amwcjm3nxhxx5s9 Dưới đây là code cho các bạn xem trực tiếp I. Bài tập C(lệnh điều khiển for, while, if, switch) 1.Tổng (-1)^(n-1).n/n!. Mã PHP: /* Tinh tong (-1)^(n-1).n/n! */ #include<stdio.h> #include<conio.h> void main() { int i,n,dau; long int ms; float kq,tam; clrscr(); printf("nNhap so nguyen duong n:"); scanf("%d",&n); i=1; ms=1; dau=1; kq=1; while(i<n) { i++; // i=i+1; ms*=i; // ms=ms*i; dau*=-1; //dau=dau*(-1); tam=(float)i/ms; kq+=tam*dau; // kq=kq+tam*dau; } printf("nKet qua=%f",kq); getch(); } 2.Tổng (-1)^(n-1).n/(1+2+…+n). Mã PHP: i=1; ms=1; dau=1; kq=1; while(i<n) // tang i truoc khi tinh. { i++; ms+=i; dau*=-1; tam=(float)i/ms; kq+=tam*dau; } 3.Tổng (-1)^(n-1).n/x^(1+2+..n). Mã PHP: /* Tinh tong (-1)^(n-1).n/x^(1+2+...+n) */ #include<stdio.h> #include<conio.h> #include<math.h> void main() { int i,n,y,dau; float x,ms,kq,tam; clrscr(); printf("nNhap so thuc x va so mu nguyen n:"); scanf("%f%d",&x,&n); i=1; dau=1; y=0; kq=0; while(i<=n) // tang i sau nen dk i<=n { y+=i; ms=(float)pow(x,y); tam=(float)i/ms; kq+=tam*dau; dau*=-1; i++; }2 trong 16 4/21/2012 8:26 PM
  3. 3. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... printf("nKet qua=%f",kq); getch(); } 4.Nhập năm Dương lịch in ra năm Âm lịch. Mã PHP: /* Nhap nam Duong_lich in ra nam Am_lich */ #include<stdio.h> #include<conio.h> void main() { int nam; clrscr(); printf("nNhap nam duong lich:"); scanf("%d",&nam); printf("nChuc mung nam "); //In ra man hinh dong "Chuc mung nam..." switch(nam%10) { case 0:printf("Canh"); break; case 1:printf("Tan"); break; case 2:printf("Nham"); break; case 3:printf("Qui"); break; case 4:printf("Giap"); break; case 5:printf("At"); break; case 6:printf("Binh"); break; case 7:printf("Dinh"); break; case 8:printf("Mau"); break; 5.UCLN_BCNN. Mã PHP: /* Tim UCLN, BCNN*/ #include<stdio.h> #include<conio.h> void main() { clrscr(); int a,b,x,tam,y; long int BC,UC; printf("nNhap hai so a,(enter or space)b:"); scanf("%d%d",&a,&b); x=a; y=b; while(x!=y) { if(x>y) x=x-y; else y=y-x; } UC=x; if(UC==1) BC=a*b; else BC=(long int)a*b/UC; printf("ntUCLN cua(%d,%d)=%ldntBCNN cua (%d,%d)=%ld",a,b,UC,a,b,BC); getch(); } 6.Chuyển số thập phân sang nhi phân. Mã PHP: /* Thap phan -> nhi phan */ #include<stdio.h> #include<conio.h> #include<math.h> void main() { clrscr(); int i,n,b,sn; long int A; printf("nNhap so nguyen n:"); scanf("%d",&n); sn=n; A=0;i=1; while(n!=0) { b=n%2; n/=2; A+=(long int)pow(10,i-1)*b; i++; } printf("nSo %d bieu dien nhi phan la:%ld",sn,A);3 trong 16 4/21/2012 8:26 PM
  4. 4. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... getch(); } 7.Tìm thứ của một ngày, tháng trong năm. Trước hết ta quy đổi về số ngày hết . -Ta xét từ năm số 1 cho đến năm nhập vào nếu thỏa điều kiện năm nhuận thì cộng thêm 1 -Ta xét từ tháng 1 cho đến tháng nhập vào và lần lượt cộng với số ngày tương ứng mà tháng đó có ( ví dụ : tháng 3 có 31 ngày ). -Sau khi được một tổng số có được bằng cách thực hiện 2 bước trên thì ta cộng số đó vào số ngày nhập vào. Ta được tổng số ngày từ ngày tháng năm thứ nhất cho đến ngày tháng năm hiện tại -Theo quy luật của ngày tháng thì cứ 7 ngày thì lặp lại một thứ . Vì thế ta lấy tổng số ngày tính được tất cả chia lấy phân dư cho 7 ( Ví dụ : nếu được 0 thì đó là chủ nhật ) Mã PHP: #include <stdio.h> #include <conio.h> void main() { clrscr(); int ngay , thang , nam, s=0, x; long t; do { printf("Nhap vao Ngay :"); scanf("%d",&ngay); printf("Nhap vao Thang :"); scanf("%d",&thang); printf("Nhap vao Nam :"); scanf("%d",&nam); } while(((ngay<0)||(ngay>31)||(thang<0)||(thang>12))||((thang==2)&&(ngay>29))); for(int i=1;i<=nam;i++) { if((i%400==0)||((i%4==0)&&(i%100!=0))) s+=1; } t=(nam*365)+s; s=0; for(int j=1;j<thang;j++) { switch(j) { case 2: if ((nam%400==0)||((nam%4==0)&&(nam%100!=0))) { s+=29; Hãy nhấn thank nếu bài viết có ích với bạn! Chú ý pass unlock và zipfile (nếu có):ebookso1.com Với link download là adf.ly thì tham khảo thêm chi tiết cách download tài liệu ở đây Xem hướng dẫn post bài thêm tại đây Xem các bài viết liên quan ở Quảng Cáo EbookSo1.Com Tổng hợp các bài tập C căn bản Chương trình hiển thị cây thư mục bằng C Duyệt cây nhị phân bằng C Giáo Trình C++ { ĐẠI HỌC BÁCH KHOA HÀ NỘI} Bài tập Lập Trình hướng đối tượng C++ TỔNG HỢP CÁC BÀI TẬP C và C++ CƠ BẢN Kỹ thuật lập trình - ThS. Nguyễn Duy Phương Bài giảng lập trình Windows và bài tập thực... Tổng hợp 77 bài tập C++ kèm hướng dẫn. 500 bài tập kèm lời giải lập trình C tại http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C4 trong 16 4/21/2012 8:26 PM
  5. 5. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Thanks Trả lời Trả lời kèm Trích dẫn 03-22-2012 09:28 PM #2 Mr.Chaosq10 Online II.Bài toán in tam giác (for lồng) Tổng Quản EbookSo1.Com 1.Tam giác cân bằng kí tự *. Mã PHP: /*In tam giac chieu cao n: * * * * * * * * * * * * * * * * */ #include<stdio.h> #include<conio.h> void main() { int i,j,n; clrscr(); printf("Nhap n:"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<=n+i;j++) if(j<n-i) { printf(" "); continue; Thành Viên Thứ: 1 } else printf("*"); printf("n"); Ngày tham gia: Feb 2011 } getch(); Đang ở: Thanh } Chương-Nghệ An Nghề Nghiệp: Sinh Viên Họ Tên: Nguyễn Thịnh Chiến Mã PHP: /*In tam giac chieu cao n: Giới Tính: Nam * * * * * * * * * * * * * * * Sở Thích: Nghe Nhạc * */ Bài viết: 4,138 #include<stdio.h> #include<conio.h> Thanks: 1,236 void main() Thanked 1,940 Times in 1,031 Posts { int i,j,n,na; Nick Yahoo : Chien_siquantre clrscr(); printf("Nhap n:"); scanf("%d",&n); na=2*n-1; for(i=0;i<n;i++) { for(j=0;j<na-i;j++) if(j<i) { printf(" "); continue; } else printf("*"); printf("n"); } getch(); } 3.Tam giác bằng kí tự A,B,C.... Mã PHP: /*In tam giac chu chieu cao n: ______A ____B B B __C C C C C D D D D D D D */ #include<stdio.h> #include<conio.h> void main()5 trong 16 4/21/2012 8:26 PM
  6. 6. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... { int i,j,n; char s=A; clrscr(); printf("Nhap n:"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<=n+i;j++) if(j<n-i) { printf("_"); continue; } else printf("%c",s); s++; printf("n"); } getch(); } Mã PHP: /*In tam giac chieu cao n: AAAAAAA _BBBBB __CCC ___D */ #include<stdio.h> #include<conio.h> void main() { int i,j,n,na; char s=65; clrscr(); printf("Nhap n:"); scanf("%d",&n); na=2*n-1; for(i=0;i<n;i++) { for(j=0;j<na-i;j++) if(j<i) { printf("_"); continue; } else printf("%c",s); s++; printf("n"); } getch(); Thanks Trả lời Trả lời kèm Trích dẫn 03-22-2012 09:33 PM #3 Mr.Chaosq10 Online III.Định thức và ma trận nghịch đảo. Tổng Quản EbookSo1.Com Mã PHP: /* DINH THUC VA MA TRAN NGHICH DAO */ #include<stdio.h> #include<conio.h> void main() { int i,j,k,m,n,na,dau=1; double det,x,tam; double a[50][50],b[50][50]; clrscr(); printf("n CHAO MUNG DEN VOI CHUONG TRINH TINH DINH THUC VA MA TRAN NGHICH DAO"); printf("n"); printf("n NHAP CAP MA TRAN:"); scanf("%d",&n); na=2*n;//so cot ma tran chuyen tiep. //Nhap ma tran A.------------------------------- for(i=0;i<n;i++) for(j=0;j<n;j++)6 trong 16 4/21/2012 8:26 PM
  7. 7. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... { printf("a[%d][%d]=",i+1,j+1); scanf("%lf",&a[i][j]); } Thành Viên Thứ: 1 //Tao ma tran lien ket.--------------------------- for(i=0;i<n;i++) Ngày tham gia: Feb 2011 for(j=n;j<na;j++) { if(i==(j-n)) a[i][j]=1; Đang ở: Thanh else a[i][j]=0; Chương-Nghệ An } //Ham giai phuong trinh.-------------------- Nghề Nghiệp: Sinh Viên Họ Tên: Nguyễn Thịnh Chiến 4/Viết chương trình giải hệ phương trình dạng sau: a11 x1 = b1 Giới Tính: Nam a21 x1 + a22 x2 = b2 ... Sở Thích: Nghe Nhạc an1 x1 + an2 x2 + ... + ann xn = bn (aij ≠0) Bài viết: 4,138 Chương trình cần có các hàm sau: hàm nhập hệ phương trình, hàm xuất hệ phương trình, hàm giải hệ phương trình và hàm main. Thanks: 1,236 Thanked 1,940 Times in 1,031 Posts Mã PHP: Nick Yahoo : Chien_siquantre /* Giai ma tran Gauss-Jodan (dung ham) */ #include <stdio.h> #include <conio.h> int i,j,n,m,k,dem=0; double x,tam,a[10][11],b[10]; void nhap(); void xuat(); void giai(); //----------- NHAP HE PHUONG TRINH ---------------------------- void nhap(void) { printf("Nhap n = "); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<=i;j++) { printf(" a[%d][%d] = ",i+1,j+1); scanf("%lf",&a[i][j]); } printf(" b[%d] = ",i+1); scanf("%lf",&b[i]); } } //----------- XUAT HE PHUONG TRINH ------------------------------ void xuat(void) { 3.Giải hệ phương trình tuyến tính: Mã PHP: /* Giai ma tran Gauss-Jodan (dung ham) */ #include <stdio.h> #include <conio.h> int i,j,n,m,k,dem=0; double x,tam,a[10][11],b[10]; void nhap(); void xuat(); void giai(); //----------- NHAP HE PHUONG TRINH ---------------------------- void nhap(void) { printf("Nhap n = "); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf(" a[%d][%d] = ",i+1,j+1); scanf("%lf",&a[i][j]); } printf(" b[%d] = ",i+1); scanf("%lf",&b[i]); } } //----------- XUAT HE PHUONG TRINH ------------------------------ void xuat(void) {7 trong 16 4/21/2012 8:26 PM
  8. 8. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Thanks Trả lời Trả lời kèm Trích dẫn 03-22-2012 09:36 PM #4 Mr.Chaosq10 Online IV.Bài tập C( Hàm) Tổng Quản EbookSo1.Com 1.Giai thừa. Mã PHP: /* In giai thua cua n so nguyen */ #include <stdio.h> #include <conio.h> int n,a[50]; void NhapMang(void) { int i; printf("Nhap n:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("a[%d]=",i+1); scanf("%d",&a[i]); } } long int GiaiThua(int a) { int i; Thành Viên Thứ: 1 long int gt=1; for(i=2;i<=a;i++) gt*=i; // nên chọn i chạy từ 2 return (gt); Ngày tham gia: Feb 2011 } Đang ở: Thanh void XuatMang(void) Chương-Nghệ An { int i; for(i=0;i<n;i++) Nghề Nghiệp: Sinh Viên { Họ Tên: Nguyễn Thịnh Chiến 2.In số nguyên tố. Giới Tính: Nam Mã PHP: Sở Thích: Nghe Nhạc /* In so nguyen to */ #include <stdio.h> Bài viết: 4,138 #include <conio.h> #include <math.h> Thanks: 1,236 unsigned n,a[50]; Thanked 1,940 Times in 1,031 Posts void NhapMang(void) Nick Yahoo : Chien_siquantre { int i; printf("Nhap n:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("a[%d]=",i+1); scanf("%d",&a[i]); } } char SNT(unsigned n) { int i; if (n<2) return 0; for (i=2; i<= sqrt(n) ; i++ ) if (n%i==0) return 0; return 1; } void XuatMang(void) { int i; 3.UCLN, BCNN của n số nguyên dương. Mã PHP: /* Tìm UCLN, BCNN của n số nguyên duong*/ #include <stdio.h> #include <conio.h> unsigned n,a[100],b[100];8 trong 16 4/21/2012 8:26 PM
  9. 9. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... void NhapMang(void) { int i; printf("Nhap n:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("a[%d]=",i+1); scanf("%d",&a[i]); b[i]=a[i]; } } //----------------------- unsigned TimUCLN(int a,int b) { int i; while(a!=b) a>b?(a=a-b):(b=b-a); return a; } //------------------------ unsigned TimBCNN(int a,int b) { return (unsigned)a*b/TimUCLN(a,b); } 4.Tổng các chữ số của số n nguyên dương. Đề: Gọi n là một số nguyên dương. Viết chương trình tính tổng các chữ số xuất hiện trong n. Thao tác này được thực hiện cho đến khi tổng tìm được là một số có 1 chữ số. Ví dụ: n=1988: 1+9+8+8=26. Đây là tổng có 2 chữ số nên tiếp tục tính 26=2+6=8. Dừng và trả về kết quả vì đây là tổng có 1 chữ số. Mã PHP: /*Tinh tong cac chu so xuat hien trong n */ #include <stdio.h> #include <conio.h> //Ham tinh tong cac chu so cua so duong n int TCS(int n) { int s=0; while (n>0) { int k=n%10; s=s+k; n=n/10; } return s; } void main() { int n,ChuSo; clrscr(); printf("Nhap n="); scanf("%d",&n); //Bắt đầu quá trình tính cho ra một chữ số lặp lại như cũ. ChuSo=TCS(n); while (ChuSo>9) { ChuSo=TCS(ChuSo); } printf("Chu so cuoi cung =%d",ChuSo); getch(); 5. Kiểm tra "số nguyên tố hoàn hảo" "Số nguyên tố hoàn hảo" là số mà tất cả các chữ số đều là số nguyên tố. Mã PHP: #include<stdio.h> #include<conio.h> #include<math.h> char nguyento(int n) { if (n<2) return 0; for (int i=2; i<= sqrt(n) ; i++ ) if (n%i==0) return 0; return 1; } char hoanhao(int n) { while(n>0) { if(!nguyento(n%10)) return 0; n=n/10; } return 1; } void main() { int n; clrscr(); do{ printf("Nhap n nguyen duong :"); scanf("%d",&n); } while(n<0); if(hoanhao(n)) printf("n So %d la SNT hoan hao",n);9 trong 16 4/21/2012 8:26 PM
  10. 10. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Thanks Trả lời Trả lời kèm Trích dẫn 03-22-2012 10:12 PM #5 Mr.Chaosq10 Online V.Bài tập C(Mảng và chuỗi). Tổng Quản EbookSo1.Com 1.Tính tổng 2 ma trận. Mã PHP: /* Tinh tong hai mang */ #include<stdio.h> #include<conio.h> void main() { int i,j,dong,cot; float a[10][10]; float b[10][10]; float kq[10][10]; clrscr(); printf("Nhap so dong, so cot:"); scanf("%d%d",&dong,&cot); //Nhap ma tran a: for(i=0;i<dong;i++) for(j=0;j<cot;j++) { printf("A[%d,%d]:",i+1,j+1); scanf("%f",&a[i][j]); } Thành Viên Thứ: 1 //Nhap ma tran b: for(i=0;i<dong;i++) Ngày tham gia: Feb 2011 for(j=0;j<cot;j++) { Đang ở: Thanh printf("B[%d,%d]:",i+1,j+1); Chương-Nghệ An scanf("%f",&b[i][j]); } Nghề Nghiệp: Sinh Viên //Tong hai ma tran: Họ Tên: Nguyễn Thịnh Chiến 2.Tính tích 2 ma trận. Giới Tính: Nam Mã PHP: Sở Thích: Nghe Nhạc /* Tinh tich hai ma tran: mxn nxp */ #include<stdio.h> Bài viết: 4,138 #include<conio.h> void main() Thanks: 1,236 { Thanked 1,940 Times in 1,031 Posts int i,j,k,m,n,p; float a[10][10]; Nick Yahoo : Chien_siquantre float b[10][10]; float kq[10][10]; clrscr(); printf("Nhap m n p:"); scanf("%d%d%d",&m,&n,&p); //Nhap ma tran a: for(i=0;i<m;i++) for(j=0;j<n;j++) { printf("A[%d,%d]:",i+1,j+1); scanf("%f",&a[i][j]); } //Nhap ma tran b: for(i=0;i<n;i++) for(j=0;j<p;j++) { printf("B[%d,%d]:",i+1,j+1); scanf("%f",&b[i][j]); } //Tich hai ma tran: 3.Hoán vị 2 chuỗi. Mã PHP: /* Hoan vi 2 chuoi */10 trong 16 4/21/2012 8:26 PM
  11. 11. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... #include<stdio.h> #include<conio.h> #include<string.h> void main() { int n; char s1[10]; char s2[10]; char tam[10]; clrscr(); printf("Nhap 2 chuoi:"); scanf("%s%s",s1,s2); //Hoan vi 2 chuoi strcpy(tam,s1); strcpy(s1,s2); strcpy(s2,tam); printf("%st%s",s1,s2); getch(); } 4.Sắp xếp chuỗi tăng dần. Mã PHP: /* Sap xep chuoi tang dan */ #include<stdio.h> #include<conio.h> #include<string.h> void main() { int i,j,n; char s[50][10]; char tam[10]; clrscr(); printf("Nhap n:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("S[%d]:",i+1); scanf("%s",s[i]); } //Sap xep chuoi tang dan: for(i=0;i<n;i++) for(j=i;j<n;j++) { if(strcmp(s[i],s[j])>0) { strcpy(tam,s[i]); strcpy(s[i],s[j]); strcpy(s[j],tam); } } for(i=0;i<n;i++) 5.Tam giác pascal. Mã PHP: #include<stdio.h> #include<conio.h> void main() { int n,i,j; long A[50][50]; clrscr(); printf("Nhap so dong cua tam giac pascal, n<50: "); scanf("%d",&n); for (i=0;i<n;i++) for (j=0;j<n;j++) A[i][j]=0; for (i=0;i<n;i++) A[i][0]=1; for (i=1;i<n;i++) for (j=1;j<n;j++) A[i][j]=A[i-1][j-1]+A[i-1][j]; for (i=0;i<n;i++) { for (j=0;j<n;j++) { if (A[i][j]!=0) printf("%5ld",A[i][j]); } printf("n"); } getch(); } 6.Đề : Viết 1 chương trình tự nhận dạng và đổi năm âm lịch sang dương lịch- ngược lại.(giới hạn trong 1950-2010) Vd: Nếu nhập:2007->out Dinh Hoi Nếu nhập: Dinh Hoi ->out 200711 trong 16 4/21/2012 8:26 PM
  12. 12. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Lời giải: Mã PHP: /* Doi nam Am<-> Duong lich*/ #include<stdio.h> #include<conio.h> #include<string.h> void main() { int i,n,chon; char can_a[5],chi_a[5]; char can[10][5]={"Canh","Tan","Nham","Quy","Giap","At","Binh","Dinh","Mau","Ky"}; char chi[12][5]={"Than","Dau","Tuat","Hoi","Ti","Suu","Dan","Mao","Thin","Ty","Ngo","Mui"}; clrscr(); printf("CHUONG TRINH DOI NAM Dl <-> AL"); printf("nChon 1 : Dl <-> AL"); printf("nChon 2 : Al <-> DL"); scanf("%d",&chon); if(chon==1) { printf("nNhap vao nam duong:"); scanf("%d",&n); printf("nChuc mung nam %s %s",can[n%10],chi[n%12]); } else { printf("nNhap vao nam am:"); scanf("%s%s",can_a,chi_a); for (i=1950;i<=2010;i++) { if ((stricmp(can[i%10],can_a)==0)&&(stricmp(chi[i%12],chi_a)==0)) { printf("nChuc mung nam %d",i); 7.Tìm số hạng thứ n: Mã PHP: /* 5/ Cho dãy an nhu+ sau: a0 =1; a1=0; a2 =-1; an = 2an-1 – 3an-2 - an-3 (n>2) Vie^t chu+o+ng trình tính so^ ha.ng thu+ n cu?a dãy ba(`ng hai cách: a) Su+? du.ng ky~ thua^.t ?e^. qui. b) Không su+? du.ng ky~ thua^.t ?e^. qui. */ #include<stdio.h> #include<conio.h> //-------- a.DE QUY ------------- int sohang(int n) { if(n==0) return 1; if(n==1) return 0; if(n==2) return (-1); return 2*sohang(n-1)-3*sohang(n-2)-sohang(n-3); } //--------- b.KO DUNG DE QUY ---- int sohang2(int n) { int i,a[20]; a[0]=1; a[1]=0; a[2]=-1; for(i=3;i<=n;i++) { a[i]=2*a[i-1]-3*a[i-2]-a[i-3]; } 8.SortPrimes:Sắp xếp các số nguyên tố trong mảng. Thuật toán: B1: Tìm các số nguyên tố trong mảng. B2: Dùng mảng trung gian lưu vị trí chứa số nguyên tố trong mảng. B3: Sắp xếp lại mảng theo vị trí các snt từ mảng trung gian. Mã PHP: /* SortPrimes */ #include <stdio.h> #include <conio.h> #include <math.h> #define MAX 99 char nguyento(int n) { int i; if (n<2) return 0; for (i=2; i<= sqrt(n) ; i++ ) if (n%i==0) return 0; return 1; } void inmang(int a[], int n) { int i; for (i = 0; i < n; i++) printf(" %d", a[i]); } void swap(int *a, int *b) { int temp; temp = *a;12 trong 16 4/21/2012 8:26 PM
  13. 13. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... *a = *b; *b = temp; } 9.Chèn phần tử vào mảng, xóa các SNT có trong mảng. Mã PHP: #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<math.h> int n, a[50]; char nguyento(int snt) { int i; if (snt<2) return 0; for (i=2; i<= sqrt(snt) ; i++ ) if (snt%i==0) return 0; return 1; } void xoaSNT(void) { int i, j, na=n; for (i=0;i<na;i++)//duyệt tất cả các phần tử mảng while(nguyento(a[i]))//khi a[i] là SNT thì thực hiện các bước xoá a[i] khỏi mảng { for(j=i;j<n-1;j++) a[j]=a[j+1];//xếp các vị trí sau lùi về, phần tử chứa SNT được thay bởi phần tử kề sau nó n--;//giảm kích thước mảng mỗi khi xoá 1 phần tử } } void inmang(void) { int i; for (i=0;i<n;i++) printf("%d ",a[i]); Thanks Trả lời Trả lời kèm Trích dẫn 03-22-2012 10:14 PM #6 Mr.Chaosq10 Online Tổng Quản EbookSo1.Com Thành Viên Thứ: 1 Ngày tham gia: Feb 2011 Đang ở: Thanh Chương-Nghệ An Nghề Nghiệp: Sinh Viên13 trong 16 4/21/2012 8:26 PM
  14. 14. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Họ Tên: Nguyễn Thịnh VI.Bài tập C(Kiểu struct). Chiến 1.Quản lý nhân viên. Giới Tính: Nam Mã PHP: Sở Thích: Nghe Nhạc #include<stdio.h> #include<conio.h> Bài viết: 4,138 typedef struct NHANVIEN { char MaNV[10]; Thanks: 1,236 char HoTen[50]; Thanked 1,940 Times in 1,031 Posts int NamSinh; char PhongBan[20]; long int LuongCB; Nick Yahoo : Chien_siquantre long int Thuong; long int ThucLanh; } NHANVIEN; NHANVIEN NV[50]; //---------Ham nhap thong tin cho N nhan vien----- void NhapNV (int N) { int i; for (i=0;i<N;i++) { fflush(stdin); printf("nhap ma so NV thu %d:",i+1); scanf("%s",&NV[i].MaNV); printf("Nhap ho ten:"); fflush(stdin); gets(NV[i].HoTen); printf("Nhap nam sinh:"); scanf("%d",&NV[i].NamSinh); printf("Nhap phong ban:"); fflush(stdin); gets(NV[i].PhongBan); printf("Nhap Luong CB:"); 2.Quản lý sinh viên. Mã PHP: /* Danh sach sinh vien */ #include<stdio.h> #include<conio.h> #include<string.h> #include <stdlib.h> struct SINH_VIEN { int MSSV; char ten[20]; int tuoi; char gioi_tinh[5]; }; struct SINH_VIEN sv[10]; int n=0; //-----------Nhap moi------------- void nhapmoi(void) { clrscr(); printf("Sinh vien thu %d:n",n+1); printf("Nhap ten:"); fflush(stdin); gets(sv[n].ten); printf("Nhap MSSV:"); scanf("%d",&sv[n].MSSV); printf("Nhap tuoi:"); scanf("%d",&sv[n].tuoi); printf("Nhap gioi tinh:"); scanf("%s",sv[n].gioi_tinh); n++; 3.DS xếp loại sinh viên. Mã PHP: #include<stdio.h> #include<conio.h> #include<string.h> #define MAX 50 struct Hoso { char HoTen[40]; int Diem; char Loai[10]; }; struct Hoso SV[MAX]; //khai bao bien toan cuc void Nhap(int n) { int i; for(i=0;i<n;i++) { printf ("Sinh Vien Thu %d",i+1); printf("nNhap vao ten SV :"); fflush(stdin); gets(SV[i].HoTen); printf ("nNhap vao Diem SV: "); scanf("%d", &SV[i].Diem); //gets(SV[i].Diem);14 trong 16 4/21/2012 8:26 PM
  15. 15. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... } } void indanhsach(int n) { int i,dem=1; 4.Các phép tính trên nhiều phân số Mã PHP: /* Phan so thuc hien cac phep tinh cong, tru, nhan, chia*/ #include<stdio.h> #include<conio.h> #include<math.h> #define MAX 10 typedef struct Phanso { int Tuso; int Mauso; }phanso; phanso ps[MAX]; int i; //-------- Khai bao prototype --------- void Nhap(int n); //Ham nhap n phan so int UCLN(int a, int b);//Ham tim UCLN cua 2 so void Rutgon(phanso *s); //Ham rut gon 2 phan so void Inra(phanso s); //In phan so phanso Cong2ps(phanso x,phanso y);//Ham tinh tong 2 phan so phanso Tru2ps(phanso x,phanso y);//Ham tinh hieu 2 phan so void Cong_Tru(int n);//Ham tinh tong, hieu n phan so phanso Nhan2ps(phanso x,phanso y);//Ham tinh tich 2 phan so void Nhan_Chia(int n); //Ham tinh tich, thuong n phan so //-------- NHAP n PHAN SO -------- void Nhap(int n) { for(i=0;i<n;i++) { printf("Phan So Thu %d:n",i+1); Thanks Trả lời Trả lời kèm Trích dẫn Chọn nhanh C / C++ Lên trên Trả lời Nhanh Lưu ý khi gửi bài: .Chọn prefix cho bài viết của mình .Viết chữ tiếng việt có dấu .Phải bỏ link download dưới thẻ [download][/download] .Có quyền không support cho ai không biết sử dụng nút Thank Fonts Sizes AVIM Control [F12 to Hide] Auto Telex VNI VIQR VIQR* Off Spell OldAccent15 trong 16 4/21/2012 8:26 PM
  16. 16. [Share] Tổng hợp các bài tập C căn bản http://ebookso1.com/forum/threads/22932-Tong-hop-cac-bai-tap-C-can-b... Xin vui lòng gõ tiếng Việt có dấu - Cảm ơn Gửi trả lời nhanh Đổi Sang Khung Lớn « Chủ đề trước | Chủ đề Tiếp theo » Actions : (View-Readers) arsenalxt, cuncon_lonton, Girl_not_love_92, minhhien, Mr.Chaosq10, phước tiến, Rank.Gone, tuanfc1, vanduy10061991 Múi giờ GMT +7. Bây giờ là 08:26 PM. Powered by vBulletin™ Version 4.1.1 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved. Copyright@2012 By wWw.EbookSo1.Com16 trong 16 4/21/2012 8:26 PM

×