Vấn đề
Số đã được khởi tạo hằng số. Nhờ người dùng đoán số đó, đưa ra gợi ý mỗi lần nhập.
Giải pháp
Logic đoán số:
do{
if(num == guess) flag = 0;
else if(guess < num){ flag = 1; printf("So ban doan nho hon\n"); count++; }
else { flag = 1; printf("So ban doan lon hon\n"); count++; }
if(flag == 1){ printf("Sai, thu lai\n"); scanf("%d",&guess); }
} while(flag);
Ví dụ
Chương trình C trò chơi đoán số:
#include <stdio.h>
main(){
int num = 64, flag = 1, guess, count = 0;
printf("Doan so ngau nhien, co goi y sau\n");
scanf("%d", &guess);
do{
if(num == guess) flag = 0;
else if(guess < num){ flag = 1; printf("So ban doan nho hon\n"); count++; }
else { flag = 1; printf("So ban doan lon hon\n"); count++; }
if(flag == 1){ printf("Sai, thu lai\n"); scanf("%d",&guess); }
} while(flag);
printf("Chuc mung! Ban doan dung %d\n", num);
printf("So lan thu: %d\n", count);
}
Đầu ra
Kết quả chạy chương trình:
Doan so: 45 Nho hon. Thu lai: 60 Nho hon. Thu lai: 70 Lon hon. Thu lai: 65 Lon hon. Thu lai: 62 Nho hon. Thu lai: 64 Chuc mung! Dung 64. So lan: 5