如何用for語句寫入猜數字游戲
這是我寫的語句:
static void Main(string[] args)
{
Random d = new Random();
int num = *(1, 100);//隨機數
int num1 = 0;//用來保存輸入的數
*ine("輸入一個數");
while (true)
{
string str = *ne();
*se(str, out num1);
if (num1 == 0)
{
*ine("輸入有誤,重新輸入");
continue;
}
else
{
if (num1 >num)
{
*ine("數字大了,重新輸入");
continue;
}
else if (num1 {
*ine("數字小了,重新輸入");
continue;
}
else if (num1 == num)
{
*ine("正確");
break;
}
}
}
*();
}
#include//為獲得隨機數
#include//獲取時間
main()
{ int a,b;
srand(time(NULL));
a=1+(rand()%100); //獲得一個100以內的隨機數
while (1)
{ ….猜數的過程
}
C語言 猜數字程序
原因分析:“scanf("%d",&a);”這一行,輸入完一個數字后,你還必須按下回車鍵,所以這行執行完畢后緩沖區就還留著一個'\n'字符即回車字符。
執行到“}while(ch=getchar()!='n');”時,這字符就直接賦給了ch(驗證方法:把“while(ch=getchar()!='n');”改為“while(ch=getchar()!='\n');”,你會發現輸入一個數字后程序就直接結束了)。對癥下藥:方案一:“scanf("%d",&a);”這一行后加上“fflush(stdin);”(作用:清空輸入流)。
但這樣改有個麻煩,就是你每次輸入一個數字后你都還得因要執行getchar()而再輸入一個字符。方案二:“}while(ch=getchar()!='n');”改為“}while(ch=getch()!='n');”(getch()會自動跳過前導的回車字符),這樣改也有個類似方案一的麻煩,就是輸入一個數字后你還得按一個鍵后方能再輸入數字。
方案三:進行代碼優化:(順便說下,你的代碼可讀性有些問題,和下面的對照下吧)#include
C語言猜數字
#include
C語言猜數程序
給你編好了 你看看效果 #include