#include <time.h>
#include <stdlib.h>
#include <stdio.h>
main()
{
int magic, guess, counter = 0, ret;
char reply;
srand(time(NULL)); //產生亂數
do{
counter = 0;
magic = rand() % 100 + 1; //產生1-100亂數,與上邊配合使用
do{
printf("Please guess a magic number:");
ret = scanf("%d", &guess);
while (ret != 1) //判斷輸入的數字是否合法
{
while (getchar() != '\n'); //回車代表結束,開始判斷
printf("Please guess a magic number:");
ret = scanf("%d", &guess);
}
if(guess==-1) return 0;//輸入值為-1,退出游戲
counter++;
if (guess > magic)
printf("Wrong!Too big!\n");
else if (guess < magic)
printf("Wrong!Too small!\n");
else
printf("Right!\n");
} while (guess!=magic && counter<10);
printf("counter = %d\n", counter);
printf("Do you want to continue(Y/N or y/n)?");
scanf(" %c", &reply);
}while (reply=='Y' || reply=='y');
}
uj5u.com熱心網友回復:
有什么問題嗎?如果有那么應該是開始
main() ---> int main()
最后再加一句 return 0;
我用devc++復制你的代碼,加上這兩句,可以正常運行
while (ret != 1) //判斷輸入的數字是否合法 這一句并沒有起什么作用
uj5u.com熱心網友回復:
謝謝我沒有問題的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/103056.html
標籤:C++ 語言
上一篇:不呼叫庫函式實作對字串的替換問題
下一篇:能不能幫我解釋一下什么意思啊
