簡體   English   中英

C:猜數字游戲

[英]C: Number Guessing Game

如何定義我希望用戶在猜數字游戲中猜到的數字?

我需要遵循該程序的兩個示例運行,黑體字是用戶的輸入:

  1. 好,我在想一個數字。 嘗試猜測。
    你的猜測? 50
    太高!
    你的猜測? 12
    太低! 你的猜測? 112
    非法猜測。 您的猜測必須在1到100之間。
    再試一次。 你的猜測? -20
    非法猜測。 您的猜測必須在1到100之間。
    再試一次。 你的猜測? 23

    ***正確*****

  2. 想再次玩嗎? ÿ

    好,我在想一個數字。 嘗試猜測。
    你的猜測? 85
    太高!
    你的猜測? 12
    太低!
    你的猜測? 57

    ***正確*****

當我/用戶在第一次運行中輸入數字23時,我很難讓我的腳本輸出***CORRECT***** 當我輸入50、12、112和-20時,我得到了正確的響應,但輸入的不是23。在輸入23之后,我得到了“太低了!您的猜測嗎?”。 (我沒有嘗試第二次運行,因為我需要確保可以進行第一次運行以跟隨樣本。)

這是我所擁有的片段:

void guessGame() 
{
int num = 23;
int guess = 0;
int count = 1;
count = 1;

srand((unsigned int)time(NULL));
num = rand() % 100 +1;

printf("OK, I am thinking of a number. Try to guess it.\n");
printf("Your guess?\n");
scanf("%d",&guess);

while(guess != num && count != 6)
{
    if(guess > 100 || guess < 1)
    {
        printf("Illegal guess. Your guess must be between 1 and 100.\n");
        printf("Try again. Your guess?\n");
        scanf("%d", &guess);
        count ++;
    }
    else if(guess > num)
    {
        printf("Too high! Your guess?\n");
        scanf("%d", &guess);
        count ++;
    }
    else if(guess < num)
    {
        printf("Too low! Your guess?\n");
        scanf("%d", &guess);
        count ++;
    }
}
if (guess == num)
{
    printf("***CORRECT*****\n");
}
else 
    printf("Too many guesses\n");

printf("The number is %d\n\n", num);
}

非常感謝您的幫助。 :)

在函數中,將num初始化為-

int num = 23;

但隨后您將其存儲為任何隨機生成的數字-

srand((unsigned int)time(NULL));
num = rand() % 100 +1;

可能不是23 ,可能是1 to 100之間的任何值。 因此,它顯示了意外的輸出。

如果您希望num23則刪除rand()語句。

嘗試這個

#include <stdlib.h>
srand(time(NULL));
rand();
int random_number = rand() % 100 + 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM