Xem mẫu

  1. CHƯƠNG 8 – Cấu trúc lập trình trong C Hà Nội ngày 1/8/2010, Nguyễn Thị Thu Trang – SE – SoICT I. Bài tập làm thêm Bài tập 8.11. Tìm USCLN và BSCNN của 2 số nguyên dương nhập từ bàn phím Lời giải mẫu: #include void main() { unsigned n, m, n1, m1, uscln, bscnn; printf("\nNhap hai vao so nguyen duong : "); scanf("%u%u", &n, &m); n1=n; m1=m; // Tim USCLN while (n1 != 0 && m1 != 0) if (n1>m1) n1 -= m1; else m1 -= n1; if (n1 == 0) uscln = m1; else uscln = n1; // Tim BSCNN bscnn = n * m / USCLN(n, m); printf("\nUSCLN cua %u va %u = %u", n, m, USCLN(n,m)); printf("\nBSCNN cua %u va %u = %u", n, m, BSCNN(n,m)); getch(); } Bài tập 8.12. Nhận vào từ bàn phím tháng và năm, có kiểm tra điều kiện. Đưa ra tháng năm đó có bao nhiêu ngày, chú ý nếu tháng và năm nhập không đúng thì yêu cầu nhập lại. Sử dụng lệnh switch…case Lời giải mẫu: /*Bai tap 8.12. Tinh so ngay cua 1 thang*/ #include #include int thang,ngay,nam; void main() { 1
  2. clrscr(); printf("Chuong trinh tinh so ngay cua mot thang\n\n"); printf("Nhap thang:"); scanf("%d",&thang); while (thang12) { printf("\nBan nhap khong dung!\n"); printf("Ban hay nhap lai:"); scanf("%d",&thang); } printf("\nNhap nam:"); scanf("%d",&nam); switch (thang) { case 4: case 6: case 9: case 11: ngay=30;break; case 2: if ((nam%4==0 && nam%100 != 0) || (nam%400 == 0)) ngay=29; else ngay=28; break; default: ngay=31; } printf("\nSo ngay cua thang do la %d\n",ngay); getch(); } Bài tập 8.13. Tìm tất cả các ước số của số nguyên dương nhập từ bàn phím. Có xử lý ngắt trang (5 số / 1 dòng, 20 dòng / 1 trang). Lời giải mẫu: /* Bai tap 8.13 - In tat ca cac uoc so cua so n */ #include #include void main() { int n, i; printf("Cho gia tri N = "); scanf("%d", &n); printf("Cac uoc so cua %d la :\n", n); for (i=1; i
  3. Bài tập 8.14. Nhận số nguyên dương từ bàn phím. Đưa ra kết luận số đó có phải là số nguyên tố hay không. Lời giải mẫu: /* Bai tap 2.4 - Tinh xem so N co phai la so nguyen to khong? */ #include #include void main() { int N, i, OK = 1; printf("\nNhap gia tri N : "); scanf("%d", &N); for (i=2; i
  4. printf(" "); for (j=0; j
  5. gt=1; i=1; if (n>0) while (i
  6. { dk=0; break; } j=j+1; } } getch(); } Bài tập 8.23. Một tam giác vuông có thể có tất cả các cạnh là các số nguyên. Tập của ba số nguyên của các cạnh của một tam giác vuông được gọi là bộ ba Pitago. Đó là tổng bình phương của hai cạnh bằng bình phương của cạnh huyền, chẳng hạn bộ ba Pitago (3, 4, 5). Viết chương trình tìm tất cả các bộ ba Pitago như thế sao cho tất cả các cạnh không quá 500. Lời giải mẫu: /* Tim nhung gia tri nguyen x, y, z thoa x^2 + y^2 = z^2 */ #include #include #include void main() { long x, y, z, count = 0; for (x=1; x
  7. printf("\nBan hay nghi mot so trong dau. So do phai nho hon 100."); delay(1000); printf("Xong chua! Roi ban hay tra loi nhung cau hoi sau day cua toi."); printf("\nToi se tim ra con so ma ban doan."); do { n = (k+i)/2; solan++; printf("\nLan doan thu %d.", solan); printf("\nCo phai so ban nghi la %d (Dung, Nho hon, Lon hon) ? ", n); do { c = toupper(getch()); } while (c != 'D' && c != 'N' && c != 'L'); switch (c) { case 'L' : i = n; break; case 'N' : k = n; break; case 'D' : printf("\nTai khong?"); break; } } while (c != 'D'); getch(); } Bài tập 8.25. Nhập vào một số nguyên dương từ bàn phím. Kiểm tra xem số nguyên đó có thuộc dãy Fibonacci không. 7
nguon tai.lieu . vn