#include<stdlib.h> //隨機數生成函數srand()與rand() 所需的頭文件
#include<time.h> //time()所需的頭文件
int main()
{
int sysdata;//系統生成的數據
int n; //所猜的數據
int sum = 0;//記錄猜的次數
srand((unsigned)time(NULL)); //隨機數發生器初始化函數,以時間為種子
sysdata = rand()%100+1; //隨機生成1到100的隨機數
printf("退出程序請按:ctrl + c!\n");
while(1)
{
printf("請輸入妳猜的數據(1-100): ");
if(scanf("%d",&n) != 1) //用於判斷用戶是否結束遊戲
{
break; //跳出while循環,結束遊戲
}
sum++; //每輸入壹次數據,猜的次數加1
if(sum == 10) // 當猜的次數大於10次的時候重新生成新的隨機數
{
if(n == sysdata) //最後壹次猜數正確,輸出結果,結束遊戲
{
printf("猜數正確,總***猜了%d次!\n",sum);
break; //跳出while循環,結束遊戲
}
else //最後壹次猜數不正確則重新開始遊戲
{
printf("猜數次數超過%d次,重新開始遊戲!\n",sum);
sysdata = rand()%100+1; //隨機生成1到100的隨機數
sum = 0;
}
}
else
{
if(n == sysdata)
{
printf("猜數正確,總***猜了%d次!\n",sum);//猜數正確,結束遊戲
break; //跳出while循環,結束遊戲
}
else if(n > sysdata)
{
printf("妳猜的數據太大!\n");
}
else
{
printf("妳猜的數據太小!\n");
}
}
}
printf("猜數遊戲結束!\n");
return 0;
}
測試結果:
退出程序請按:ctrl + c!
請輸入妳猜的數據(1-100): 50
妳猜的數據太小!
請輸入妳猜的數據(1-100): 75
妳猜的數據太小!
請輸入妳猜的數據(1-100): 85
妳猜的數據太大!
請輸入妳猜的數據(1-100): 80
妳猜的數據太小!
請輸入妳猜的數據(1-100): 82
妳猜的數據太小!
請輸入妳猜的數據(1-100): 84
猜數正確,總***猜了6次!
猜數遊戲結束!
Press any key to continue