當前位置:編程學習大全網 - 編程語言 - C語言設計壹個簡單的猜數遊戲:先由計算機“想”壹個數請用戶猜,如果用戶猜對了,則計算機給出提示信息

C語言設計壹個簡單的猜數遊戲:先由計算機“想”壹個數請用戶猜,如果用戶猜對了,則計算機給出提示信息

//希望我的回答對妳的學習有幫助

#include?<stdio.h>

#include?<stdlib.h>

#include?<time.h>

int?main()

{

int?x,?magic,?a?=?0,?c?=?1;

char?b;

do

{

srand(unsigned(time(NULL))); //為函數rand()設置隨機數種子

magic?=?rand()?%?100?+?1; //magic為1~100間的壹個數

printf("您每次遊戲中,只有十次機會\n");

while?(a?<=?10)

{

scanf("%d",?&x);

if?(x>magic)

printf("Wrong,比magic大\n");

else?if?(x<magic)

printf("Wrong,比magic小\n");

//else?if?(x?=?magic) //這裏的邏輯運算應該使用“==”

else?if?(x?==?magic) //妳應該是寫錯了

{

printf("Right\n");

a?=?a?+?1;

printf("妳猜了%d次了\n",?a);

a?=?0; //猜對之後,應該對猜測的次數初始化

break;

}

a++;

printf("妳猜了%d次了\n",?a);

if?(a?==?10)

{

a?=?0;

printf("Do?you?want?to?continue?(回答Y/N或者y/n)\n");

//scanf_s("%c",?&b); //這麽使用,會將妳在輸入字符之前的

//?空行(enter鍵)賦值給?b,而不是妳輸入的Y/N/y/n

scanf("?%c",?&b); //而這種寫法,%c?前面的?空格會使?scanf?忽略前面的?enter鍵

//等待第壹個非?enter鍵?元素讀入

if?(b?==?'y'?||?b?==?'Y')

c?=?1;

else?if?(b?==?'n'?||?b?==?'N')

c?=?0;

break; //當猜測次數為?10?時,應當跳出

//這裏不會自動跳出,因為?a?被初始化為?0

}

}

}?while?(c?==?1);

return?0;

}

scanf 裏面沒有空格的情況,程序會自動執行 10 次

修改後的程序,猜對的情況

修改後的程序,猜錯 10 次,Y的情況

修改後的程序,猜錯 10 次,N的情況

  • 上一篇:SolidWorks金屬表面處理?sw如何處理金屬表面?
  • 下一篇:手機芯片是用什麽做的~~
  • copyright 2024編程學習大全網