Closed ndyudev closed 19 hours ago
// Hàm bài 1: Tính trung bình tổng của các số tự nhiên chia hết cho 2 void bai1() { int min, max, i; float tong = 0, bienDem = 0, trungBinh = 0;
printf("Nhap vao gia tri min: ");
scanf("%d", &min);
printf("Nhap vao gia tri max: ");
scanf("%d", &max);
i = min;
while (i <= max) {
if (i % 2 == 0) {
tong += i;
bienDem++;
}
i++;
}
if (bienDem != 0) {
trungBinh = tong / bienDem;
printf("Trung binh tong cua cac so chia het cho 2 tu %d toi %d la: %.2f\n", min, max, trungBinh);
} else {
printf("Khong co so nao chia het cho 2 trong khoang tu %d toi %d.\n", min, max);
}
}
// Hàm bài 2: Kiểm tra số nguyên tố void bai2() { int x, i, count = 0;
printf("Nhap vao so x: ");
scanf("%d", &x);
if (x < 2) {
printf("%d khong phai la so nguyen to.\n", x);
return;
}
for (i = 2; i < x; i++) {
if (x % i == 0) {
count++;
break;
}
}
if (count == 0) {
printf("%d la so nguyen to.\n", x);
} else {
printf("%d khong phai la so nguyen to.\n", x);
}
}
// Hàm bài 3: Kiểm tra số chính phương void bai3() { int x, i; int laSoChinhPhuong = 0;
printf("Nhap vao so x: ");
scanf("%d", &x);
for (i = 1; i <= x; i++) {
if (i * i == x) {
laSoChinhPhuong = 1;
break;
}
}
if (laSoChinhPhuong) {
printf("%d la so chinh phuong.\n", x);
} else {
printf("%d khong phai la so chinh phuong.\n", x);
}
}
// Hàm hiển thị menu với khung void menu() { int choice;
do {
printf("++------------------------------------++\n");
printf("| Chuc nang 1: Tinh trung binh tong |\n");
printf("| Chuc nang 2: Tim so nguyen to |\n");
printf("| Chuc nang 3: Tim so chinh phuong |\n");
printf("| Chuc nang 4: Thoat |\n");
printf("++------------------------------------++\n");
printf("Xin moi chon chuc nang (1,2,3,4): ");
scanf("%d", &choice);
switch (choice) {
case 1:
bai1();
break;
case 2:
bai2();
break;
case 3:
bai3();
break;
case 4:
printf("Thoat chuong trinh.\n");
break;
default:
printf("Lua chon khong hop le. Vui long nhap lai.\n");
break;
}
} while (choice != 4);
}
// Hàm main để chạy chương trình int main() { menu(); return 0; }
MỤC TIÊU: Sau bài thực hành, các bạn có khả năng thực hiện đƣợc: Biết cách sử dụng vòng lặp while Biết cách sử dụng vòng lặp do while BÀI 1: TÍNH TRUNG BÌNH TỔNG CỦA CÁC SỐ TỰ NHIÊN CHIA HẾT CHO 2 Input: nhập từ bàn phím 2 giá trị min, max Output: Trung bình tổng của các số tự nhiên chia hết cho 2 từ min tới max Hƣớng dẫn: int min,max int i = min float tong = 0, bienDem = 0, trungBinh = 0 while( i <= max){ Nếu (i % 2 == 0){ tong += i; bienDem ++ } } trungBinh = tong/bienDem BÀI 2: XÂY DỰNG CHƯƠNG TRÌNH XÁC ĐỊNH SỐ NGUYÊN TỐ Input: Nhập vào từ bàn phím số x Output: Kết luận x có phải là số nguyên tố hay không Biết rằng: Số nguyên tố là số chỉ chia hết cho 1 và chính nó. FPT POLYTECHNIC TRANG 1 NHẬP MÔN LẬP TRÌNH Hƣớng dẫn: Chạy 1 vòng lặp biến đếm với giá trị khởi tạo ban đầu i = 2, điều kiện lặp là i < n. Nếu trong quá trình chạy, phát hiện ra một số i nào đó mà x % i == 0 x là số nguyên tố int x //Lấy giá trị từ bàn phím int count=0 int i
for(i=2;i<x;i++){ if(x%i ==0){ count++; } FPT POLYTECHNIC TRANG 2 NHẬP MÔN LẬP TRÌNH } if(count ==0){ x là số nguyên tố }else{ x không phải số nguyên tố } BÀI 3: XÂY DỰNG CHƯƠNG TRÌNH SỐ CHÍNH PHƯƠNG Input: Nhập vào từ bàn phím số x Output: Kết luận x có phải là số chính phƣơng hay không? Biết rằng: Số chính phƣơng là một số mà giá trị của nó là bình phƣơng của một số tự nhiên. (ví dụ: 9 = 3 x 3, 16 = 4 x 4, 25 = 5 x 5, 1,000,000 = 1,000 x 1,000) Hƣớng dẫn: Chạy 1 vòng lặp biến đếm i = 1, điều kiện lặp i<x. Nếu tìm đƣợc 1 số i nào đó sao cho i x i = x thì x là số chính phƣơng. int x //Lấy giá trị từ bàn phím int count=0 int i
for(i=1;i<x;i++){ if(i*i == x){ x là số chính phƣơng break } } BÀI 4: XÂY DỰNG MENU CHƢƠNG TRÌNH CHO 3 BÀI TẬP TRÊN Yêu cầu:
Nếu ngƣời dùng nhập từ bàn phím số 1: Chạy chƣơng trình bài 1 Nếu ngƣời dùng nhập từ bàn phím số 2: Chạy chƣơng trình bài 2 Nếu ngƣời dùng nhập từ bàn phím số 3: Chạy chƣơng trình bài 3 Nếu ngƣời dùng nhập từ bàn phím số 4: Thoát khỏi chƣơng trình Nếu ngƣời dùng nhập từ bàn phím số khác: Hiển thị menu nhƣ cũ FPT POLYTECHNIC TRANG 3 NHẬP MÔN LẬP TRÌNH Gợi ý: Sử dụng vòng lặp do while kết hợp với cách tạo menu thông thƣờng để làm bài tập số 4