c語言 猜數字程式,C語言 猜數字程式

2021-12-25 03:29:08 字數 5042 閱讀 4264

1樓:鬱_詩

原因分析:

「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

#include

#include

int main()}}

給分吧,花了我老半天時間呢!

2樓:王剛雕

#include

#include

#include

int main()

}while(ch=getchar()!='n');}}

3樓:匿名使用者

你先拿5來測試看符合不符合你的要求。測試好了再把i=5;去掉。

#include

#include

#include

int main()

}while(ch!='n');}}

4樓:十四個矮子

dowhile((ch=getchar())!='n');

賦值號的優先順序低於不等判斷,所以要加括號。

c語言編寫猜數字遊戲

5樓:阿冬

#include

#include

#include

int main()

}return 0;}

6樓:香坊大呲花哼

||#include

#include

//#include

unsigned char num[4] = ,getnum[4] = ;

void help(void) }

else }

} }void main( void ) }

if(j == 4)i++;

} get: for(i = 0;i<4;)else

printf("input one num\r\n");

//if(i>0)i--;

} else }

if(j==i)

i++;

} }printf("you input num %d%d%d%d y or n?\r\n",getnum[0],getnum[1],getnum[2],getnum[3]);

dowhile( !((j == 'y') || (j == 'y')));

printf("over");}

7樓:召平賓明朗

可以採用迴圈輸入,限制輸入值。

例如:輸入a>2

inta;

while(scanf("%d",&a))

c語言猜數字遊戲源程式

8樓:星月小木木

# include

# include

# include

main()

}while(ba)//比較兩個數大小}}

c語言程式設計猜數字遊戲 輸入一個書告訴其大了還是小了有三次可猜機會

9樓:匿名使用者

#include

#include

#include

int main()

while(m != n);

printf("答對了!\n");

printf("共猜測了%d次。\n",i);

if(i <= 5 )

printf("你太聰明瞭,這麼快就猜出來了。\n\n");

else if(i > 5)

printf("你還需改進方法,以便更快猜出來!\n\n");

return 0;}

10樓:匿名使用者

這個我可以幫你寫,私聊

c語言程式設計:編寫一個猜數的遊戲,系統自動產生一個隨機數,你來猜,程式給出提示,直到猜對為止。 20

11樓:匿名使用者

#include

#include

#include

int main(void)

else if (b的值太小權:\n");

}}while (b!=a);

printf("恭喜你猜對了!");

printf("這個數是:%d\n",a);

return 0;}

12樓:符華陽

#include//為獲得隨機數

#include//獲取時間

void main()

else if (b>a)

else

}getchar();}

13樓:衝佳磊

#include

#include

int main(void)

if(x>magic)

else

}return 0;}

14樓:樂酷科技

int num;

scanf("%d",&num);

if(num>a)

else if(num數值太小\n請輸入你心中想的那個數:");continue;}

else

//迴圈裡就是這樣實現的 謝謝採納

c語言 編寫一個猜數字遊戲,規則:使用隨機函式產生一個5位數,輸入猜測資料,判斷幾個正確,詳細如下: 15

15樓:匿名使用者

#include

#include

#include

#include

void main()

srand((unsignedint)time(null));

for(i=0;i<5;i++)

for(i=0;i<5;i++)

for(j=0;j<5;j++)

}if(a==5)

printf("你猜測的全部正確\n");

else}

16樓:匿名使用者

mark,晚上當宵夜

c語言程式設計 編一個猜數字遊戲

17樓:匿名使用者

#include

#include

#include

#include

void main()/*主函式*/

for(i=4;i>-1;i--)/*把玩家猜的5個數放到陣列中,便於檢查對錯*/

for(i=0;i<5;i++)/*檢查資料對錯*/}}}printf("猜測結果:%da%db\n",a,b);

if(a==5)

printf("\t答案正確\n"); /*如果a=5就是猜對了*/}}

18樓:匿名使用者

原始碼如下:

/* file: guess.c */

#include /* standard input & output support */

#include /* srand() rand() */

#include /* time() */

/* 巨集定義 */

#define number_length   5   /* 隨機數長度 */

#define number_limit    10  /* 隨機數限制, 每一位0-9 */

#define input_lenth     128 /* 輸入緩衝區大小 */

char goal[number_length]    = ;  /* 儲存隨機數 */

char flag[number_limit]     = ;  /* 儲存隨機數標誌, 保證不重複 */

char input[input_lenth]     = ;  /* 儲存輸入 */

/* 初始化用於儲存資料的陣列 */

void initdata()

}/* 初始化用於儲存緩衝區的陣列 */

void initbuffer()

/* 顯示猜測結果 */

void display()

else

i++;

}printf("\nright: %d bit(s)\n", count);

if (count == number_length)

}/* 生成隨機數 */

void general()

while (flag[tmp] != 0);

flag[tmp] = 1;

goal[i++] = tmp;}}

/* 輸入方法,用於猜測 */

void guess()

/* 主函式,程式主框架 */

int main (int argc, const char * ar**)

*********************************************=

執行結果見附圖,希望我的回答能夠對你有所幫助。

19樓:匿名使用者

樓上厲害!給樓上分吧···

c語言程式設計數學遊戲,c語言程式設計編一個猜數字遊戲

include include include include define z size 3 隨機數 整數最大位數,可自由修改,但總位數不要超過變數型別 define x size 3 隨機數 小數最大位數 define tmn 10 生成題目的數量,預設10條typedef enum boole...

c語言數字排列問題,C語言數字全排列的問題(急!!)求C程式碼和演算法

include include typedef char array 8 void display rand int i,j int found,r get 50 uniq random numbers for i 0 i 50 i while 1 r rand 50 1 found 0 for j...

C語言有效數字問題,在c語言中,有效數字和有效數位怎麼解釋?

輸出控制符是不分單精度雙精度的,之所以有 f和 lf,完全是為了書寫規則的完善,沒有實際意義。都是double型的。f系統預設輸出6個小數點後的位,小數點前的不管多少都輸出為什麼可以完整地把12.123456輸出出來,單精度為6 7為有效數字 g 當指數小於 4或大於等於精度時採用 e或 e的格式,...