bài tập lập trình c++ rất dễ hiểu cho người mới bắt đầu học..
* Bai tap 0 – Tính xem N có phải là số nguyên tố không? */ #include <stdio.h> #include <math.h> void main() { int N, i, OK = 1; printf("\nNhap gia tri N : "); scanf("%d", &N); for (i=2; i<(int)sqrt(N); i++) if (N%i == 0) { OK = 0; break; } if (OK) printf("\nSo %d la so nguyen to.", N); else printf("\nSo %d khong phai la so nguyen to.", N); getch(); } Bai tap 1 – Đếm số lần xuất hiện các ký tự trong chuỗi */ #include <stdio.h> #include <ctype.h> void main() { char chuoi[80]; int i = 0, count = 0; printf("\nNhap vao mot chuoi bat ky : "); gets(chuoi); while (chuoi[i] != 0) { if (isalpha(chuoi[i++])) count++; } printf("So ky tu trong chuoi = %d", count); getch(); } Bai tap 2 – Giải phương trình bậc 2: AXý + BX + C = 0 */ #include <stdio.h> #include <math.h> void main() { float a, b, c, delta; printf("\nGiai phuong trinh bac hai AXý + BX + C = 0"); printf("\nCho biet ba he so A B C : "); scanf("%f%f%f", &a, &b, &c); delta = b * b - 4 * a * c; if (delta<0) printf("Phuong trinh vo nghiem"); else if (delta == 0) printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a)); else { printf("Phuong trinh co hai nghiem phan biet\nx1 = %f", (-b + sqrt(delta))/ (2*a)); printf("\nx2 = %f", (-b - sqrt(delta))/(2*a)); } getch(); } Bai tap 3 – Giải phương trình bậc nhất: AX + B = 0 */ #include <stdio.h> void main() { float a, b; printf("\nGiai phuong trinh bac nhat AX + B = 0"); printf("\nCho biet ba he so A B : "); scanf("%f%f", &a, &b); if (a==0) if (b!=0) printf("Phuong trinh vo nghiem"); else printf("Phuong trinh co nghiem khong xac dinh"); else printf("Dap so cua phuong trinh tren = %f", -b/a); getch(); } Bai tap 5 - In ra năm âm lich tương ứng với năm nhập vào */ #include <stdio.h> void main() { unsigned nam; char can[][5] = {"Giap", "At", "Binh", "Dinh", "Mau", "Ky", "Canh", "Tan", "Nham", "Quy"}; char chi[][5] = {"Ty", "Suu", "Dan", "Meo", "Thin", "Ty", "Ngo", "Mao", "Than", "Dau", "Tuat", "Hoi"}; printf("\nNhap nam can biet : "); scanf("%d", &nam); printf("Nam am lich cua %d la %s %s", nam, can[(nam+6)%10], chi[(nam+8)%12]); getch(); } Bai tap 6 - In bang cuu chuong */ #include <stdio.h> #include <conio.h> #include <string.h> void main() { int i, j; char chuoi[] = "B A N G C U U C H U O N G"; char ten[10][5] = {"","","Hai", "Ba", "Bon", "Nam", "Sau", "Bay", "Tam", "Chin"}; clrscr(); textcolor(YELLOW); gotoxy((80 - strlen(chuoi)) / 2, 1); cprintf("%s\n\n", chuoi); for (i=2; i<=9; i++) { gotoxy(10*(i-2) + (10 - strlen(ten[i]))/2, 4); textcolor(i); cprintf("%s", ten[i]); } for (j=1; j<=10; j++) for (i=2; i<=9; i++) { Bai tap 7 - Tim số dòng, số từ, số ký tự nhập từ bàn phím */ #include <stdio.h> void main() { int sokytu=0, dautu = 0, sotu=0, sodong=1; char c; puts("\n"); do { c = getchar(); if (c != '\n' && c != EOF) sokytu++; if (isalnum(c) && dautu == 0) { sotu++; dautu=1; } if (!isalnum(c) && dautu == 1) dautu = 0; if (c == '\n') sodong++; } while (c != EOF); printf("\n\nSo dong : %d", sodong); printf("\nSo tu : %d", sotu); printf("\nSo ky tu : %d", sokytu); getch(); } Bai tap 8 - In day so Fibonanci */ #include <stdio.h> void main() { int n, i, fib1 = 1, fib2 = 1, fib = 2; printf("\nNhap gia tri N : "); scanf("%d", &n); printf("%d %d ", fib1, fib2); while (fib1+fib2 < n) { fib = fib1 + fib2; printf("%d ", fib); fib2 = fib1; fib1 = fib; } getch(); } Bai tap 8 - Ham tinh N! */ #include <stdio.h> unsigned long giaithua(int n) { unsigned long ketqua = 1; int i; for (i=2; i<=n; i++) ketqua *= i; return ketqua; } void main() { int n; printf("\nNhap vao gia tri N : "); scanf("%d", &n); printf("%d! = %lu", n, giaithua(n)); getch(); } Bai 9 - Tim phan tử lớn nhất và nhỏ nhất trong mang 1 chieu */ #include <conio.h> #include <stdlib.h> void main() { int mang[20]; int i, minval, maxval; /* Khoi tao mang ngau nhien */ randomize(); for (i=0; i<20; i++) mang[i] = random(100); /* Tim gia tri lon nhat va nho nhat */ minval = maxval = mang[0]; for (i=1; i<20; i++) { if (maxval < mang[i]) maxval = mang[i]; else if (minval > mang[i]) minval = mang[i]; } Bài 10: Tim so nguyen to nho hon N */ #include <stdio.h> void main() { int n, i, j; printf("\nNhap gia tri N : "); scanf("%d", &n); printf("\nCac so nguyen to nho hon n la : "); for (i=2; i<n; i++) { for (j=2; j<i; j++) if (i%j == 0) break; if (j == i) printf("%d ", i); } getch(); } Bai tap 12 - In hinh tam giac dac */ #include <stdio.h> #include <conio.h> void main() { int n, i, j; printf("\nNhap chieu cao cua hinh tam giac : "); scanf("%d", &n); for (i=0; i<n; i++) { for (j=n-1; j>i; j--) printf(" "); for (j=0; j<i*2+1; j++) printf("*"); printf("\n"); } getch(); . * Bai tap 0 – Tính xem N có phải là số nguyên tố không? */ #include <stdio.h> #include <math.h>. printf("So ky tu trong chuoi = %d", count); getch(); } Bai tap 2 – Giải phương trình bậc 2: AXý + BX + C = 0 */ #include <stdio.h> #include