














Preview text:
Bài 1 Tính diện tích hình tròn có bán kính R cho trước #include const 昀氀oat PI = 3.14; int main () { 昀氀oat R; 昀氀oat S;
printf("Nhap ban kinh"); scanf("%f", &R); S = R*R*PI; printf("Dien tich la %f", S); return 0; }
Bài 2 Viết chương trình tính tổng , hiệu tích thương của hai số nguyên #include int main () { long long a,b,A,B,D; 昀氀oat C;
printf("nhap so a"); scanf("%d", &a);
printf("nhap so b"); scanf("%d", &b); A = a+b; printf("tong la %ld\n", A); B = a-b; printf("hieu la %ld\n", B); C = (昀氀oat)a/b; printf("thuong la %f\n", C); D = a*b; printf("tich la %ld\n", D); return 0; }
Bài 3 Tính tổng và tích của các số từ 1 đến n với n nguyên dương
Bài 4 Kiểm tra số nguyên dương n có phải là số nguyên tố hay không int main() { unsigned int so; printf(" so : "); scanf("%d", &so); if (so < 2) {
printf("%d khong phai la so nguyen to\n", so); return 0; }
for (int i = 2; i < so - 1; ++i) { if (so % i == 0) {
printf("%d khong phai la so nguyen to\n", so); return 0; } }
printf("%d la so nguyen to\n", so); return 0; }
Bài 5 Đếm chữ số của một số nguyên dương n #include int main() { int n, bk, dem = 0;
printf("nhap n: "); scanf("%d", &n); bk=n; while(n>0) { n = n/10; dem++; }
printf("so %d co %d chu so ",bk,dem); return 0; }
Bài 6 Liệt kê các ước số của số nguyên dương n #include using namespace std; int main() { int num;
cout << "Nhap vao mot so nguyen: "; cin >> num;
cout << "Cac uoc so cua " << num << " la: ";
for (int i = 1; i <= num; i++) { if (num % i == 0) { cout << i << " "; } } return 0; }
Bài 7 Chương trình tính số ngày của tháng #include #include using namespace std; //Ham kiem tra nam nhuan bool checkYear(int nam) {
return (nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0; } int main() { int month, year;
cout << "Nhap vao thang: "; cin >> month;
cout << "Nhap vao nam: "; cin >> year; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:
cout<<"Month "<break; case 4: case 6: case 9: case 11:
cout<<"Month "<break; case 2: if (checkYear(year)) {
cout<<"Month "<} else { cout<<"Month "<} break; default: cout<<"Invalid month."; } return 0; }
Bài 8 giải phương trình bậc 2 #include #include using namespace std; int main() {
昀氀oat a, b, c, delta, x1, x2; cout << "Nhap a = "; cin >> a; cout << "Nhap b = "; cin >> b; cout << "Nhap c = "; cin >> c; if(a == 0) {
// a== 0 phuong trinh tro thanh phuong trinh bac mot bx + c = 0 if(b == 0) { if (c == 0) {
cout << "Phuong trinh vo so nghiem" << endl; } else {
cout << "Phuong trinh vo nghiem" << endl; } } else {
cout << "Phuong trinh co nghiem duy nhat: " << -c/b << endl; } } else { delta = b*b - 4*a*c; if(delta > 0) { x1 = (-b+sqrt(delta))/(2*a); x2 = (-b-sqrt(delta))/(2*a);
cout << "Nghiem thu nhat x1 = " << x1 << endl;
cout << "Nghiem thu hai x2 = " << x2 << endl; } else if ( delta == 0) {
cout << "Phuong trinh co nghiem kep: x1 = x2 = " << -b/2*a << endl; } else {
cout << "Phuong trinh vo nghiem" << endl; } } return 0; }
B ài 9 Nhập một mảng n số nguyên, xuất ra mảng theo thứ tự nhập và ngược lại #include int main() { int i, number;
printf("Nhap so phan tu cua mang: "); scanf("%d", &number); int arr[number];
printf("Nhap cac phan tu cua mang: \n");
for (i = 0; i < number; i++) { printf("a[%d] = ", i); scanf("%d", &arr[i]); }
// in cac phan tu cua mang arr
printf("Cac phan tu cua mang: \n");
for (i = 0; i < number; i++) { printf("%d ", arr[i]); } return 0; }
Bài 10 cho mảng gồm n số nguyên
c)sắp xếp dãy số theo thứ tự không giảm #include int main(){ int a[100]; int n;
printf("\nNhap so luong phan tu n = "); do{ scanf("%d", &n); if(n <= 0){ printf("\nNhap lai n = "); } }while(n <= 0);
for(int i = 0; i < n; i++){ printf("\nNhap a[%d] = ",i); scanf("%d", &a[i]); }
// Sap xep dung thuat toan sap xep chon int tg;
for(int i = 0; i < n - 1; i++){
for(int j = i + 1; j < n; j++){ if(a[i] < a[j]){ // Hoan vi 2 so a[i] va a[j] tg = a[i]; a[i] = a[j]; a[j] = tg; } } }
printf("\nMang da sap xep la: ");
for(int i = 0; i < n; i++){ printf("%5d", a[i]); }
a) In ra số lớn nhất số bé nhất trong dãy void nhap(int a[], int n) {
for (int i = 0; i < n; i++) {
printf("Nhap vao phan tu a[%d]: ", i); scanf("%d", &a[i]); } } int max(int a[], int n) { int max = a[0];
for (int i = 1; i < n; i++) if (max < a[i]) max = a[i]; return max; } int min(int a[], int n) { int min = a[0];
for (int i = 1; i < n; i++) if (min > a[i]) min = a[i]; return min; } int main() { int a[1000]; int n; printf("\nNhap n = "); scanf("%d", &n); nhap(a, n);
printf("\nMax = %d", max(a, n));
printf("\nMin = %d", min(a, n)); return 0; }
b) In ra các số xuất hiện nhiều hơn một lần trong dãy #include #include int main(){
int mangA[50]={},soPhantu,mangdem[50]={};
printf("Nhap so phan tu cua mang:"); scanf("%d",&soPhantu); //Nhap mang. for(int i=0;iif(i==0)
printf("Nhap gia tri cho cac phan tu trong mang:\n"); printf("A[%d]=",i); scanf("%d",&mangA[i]); }
for(int i=0;iint dem =1;//khoi tao bien dem bang 1 vi moi phan tu it nhat phai xuat hien 1 lan.
mangdem[i]=dem;// so lan xuat hien cua phan tu MangA[i] se ung voi gia tri cua phantu mangdem[i]
for(int j=i+1;jif(mangA[i]==mangA[j]){//kiem tra su xuat hien cua phan tu Mang[i] bang cach
so sanh voi phan tu MangA[j],neu 2 phan tu nay bang nhau thi xuat hien them mot phan tu MangA[i] nua va phai tang dem len 1. mangdem[i]=++dem;
for(int k=j;kMangA[j]=MangA[j] thi sau khi tang bien dem len 1 va xoa phan tu MangA[j] de tranh lap lai viec dem phan tu do. mangA[k]=mangA[k+1]; }
soPhantu--;//giam so phan tu di 1 vi ta cua xoa di mot phan tu co gia tri bang phan tu Mang A[i]
j--;//giam j de viec de tranh bo xot di 1 phan tu trong cac lan kiem tra sau. } } }
int max=0,vi_tri=0;//bien max chua so lan xuat hien nhieu nhat,vi_tri de chua vi tri cua phan tu
xuat hien nhieu nhat trong mangA
for(int i=0;iif(mangdem[i]>max){//so sanh max voi cac phan tu trong mangdem neu phan tu
mangdem[i] lon hon max thi gan cho max,dong thoi gan chi so i cho vi_tri max=mangdem[i]; vi_tri=i; } }
printf("\nPhan tu thu %d trong mangA xuat hien nhieu nhat ,cu the la %d lan.\ n",vi_tri+1,max); getch(); return 0; }
B ài 11 cho mảng gồm n số nguyên
a) Thêm một phần tử vào mảng #include int main(void){ int arr[6] = {1, 3, 4, 5}; printf("Mang ban dau:\n");
for(short i = 0; i < 6; i++) printf("%d ", arr[i]); \ arr[4] = 4; arr[5] = 8;
printf("\nMang sau khi them phan tu:\n");
for(short i = 0; i < 6; i++) printf("%d ", arr[i]); }
b) xóa bớt một phần tử theo chỉ số #include
void show_array(int array[], int length){
for(short i = 0; i < length; i++) printf("%d ", array[i]); printf("\n"); }
int delete_one_element_from_array(int array[], int length, int position){ int count = 0;
for(int i = position; i < length-1; i++) { array[i] = array[i+1]; } array[length-1] = 0; count++; return count; } int main(void){
int array[100], position, length; printf("Nhap so phan tu: "); scanf("%d", &length); printf("Nhap phan tu:\n");
for (int i = 0; i < length; i++) scanf("%d", &array[i]); printf("Nhap vi tri xoa: "); scanf("%d", &position);
printf("Mang truoc khi xoa:\n"); show_array(array,length);
int count= delete_one_element_from_array(array,length, position);
printf("Mang sau khi xoa:\n"); show_array(array,length);
printf("So phan tu bi xoa: %d",count); int n = length -count; int result[n];
for(short i = 0; i < n; i++) result[i] = array[i]; printf("\nMang ket qua:\n"); show_array(result,n); return 0; }
int TimPhanTu(int a[], int n, int x) { for(int i=0; i if(a[i] == x)
return i; //Tìm thấy x tại vị trí thứ i
return -1; //Không tìm thấy x trong mảng } //
=================================================================== ====
void XoaPhanTu(int a[], int &n, int x) {
int vt=TimPhanTu(a, n, x); //Tìm vị trí x trong mảng if(vt==-1)
printf("\nKhong tim thay phan tu %d muon xoa.", x); else { for(int i=vt; i<=n-2; i++)
a[i] = a[i+1]; //Dịch các phần tử sang trái 1 vị trí
n--; //Giảm số phần tử bớt 1 } }