一、題目要求,隨機產生一個范圍內的數,通過鍵盤輸入方式去判斷數字的大小,通過系統提示,最終得到隨機生成的數值,
二、解題思路:
1、要隨機生成一個數,并將他賦值給自己定義的變數,
2、撰寫一個回圈,以用戶輸入的值作為判斷條件,來決定猜數字游戲是否要運行,可以以1和0進行判斷(也可以用其他方式),
3、用if判斷陳述句對用戶輸入的值與隨機生成的值進行相比較,給用戶比較結果的提示,
4、用戶猜對時,會跳出此時猜數字游戲的回圈,回傳到原先程式的一個入口,再給用戶一個選擇是否進行游戲的選擇,從而達到一個可以繼續回圈游戲的效果,
三、代碼
int game() {
//初始化變數 a,隨機生成的數
int a = 0;
//呼叫rand之前要呼叫srand的一個隨機生成器,
srand((unsigned int)time(NULL));
a = rand() % 100+1; //將隨機生成的數賦值給a
int guess; // 定義一個變數,用戶輸入的要猜的值
//程式入口
printf("%d\n", a);
printf("游戲開始!!數字從1-100\n");
printf("請輸入你猜的數字:");
scanf("%d", &guess); //用戶輸入值
while (1) {
if (a > guess) {
printf("猜小了!\n");
printf("請重新輸入你猜的數字:"); //用戶猜錯時要繼續輸入,進行一步回圈判斷
scanf("%d", &guess);
}
else if (a < guess) {
printf("猜大了!\n");
printf("請重新輸入你猜的數字:");
scanf("%d", &guess);
}
else {
printf("恭喜你,猜對了!,數字是%d\n", guess);
break;
}
}
return 0;
}
int main() {
int a = 0;
int input = 0;
game();
//呼叫游戲函式
do
{
printf("請選擇(1繼續游戲,0退出游戲):");
scanf("%d", &input);
switch (input)
{
case 1:
game(); //呼叫函式,游戲開始
break;
case 0:
printf("退出游戲!\n");
break;
default:
printf("選擇錯誤,重新選擇!\n");
break;
}
} while (input); //當用戶輸入0時,while回圈會結束
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394086.html
標籤:其他
