練習4-6 猜數字游戲(15 分)


猜數字游戲是令游戲機隨機產生一個100以內的正整數,用戶輸入一個數對其進行猜測,需要你編寫程序自動對其與隨機產生的被猜數進行比較,並提示大了(“Too big”),還是小了(“Too small”),相等表示猜到了。如果猜到,則結束程序。程序還要求統計猜的次數,如果1次猜出該數,提示“Bingo!”;如果3次以內猜到該數,則提示“Lucky You!”;如果超過3次但是在N(>3)次以內(包括第N次)猜到該數,則提示“Good Guess!”;如果超過N次都沒有猜到,則提示“Game Over”,並結束程序。如果在到達N次之前,用戶輸入了一個負數,也輸出“Game Over”,並結束程序。

輸入格式:

輸入第一行中給出兩個不超過100的正整數,分別是游戲機產生的隨機數、以及猜測的最大次數N。最后每行給出一個用戶的輸入,直到出現負數為止。

輸出格式:

在一行中輸出每次猜測相應的結果,直到輸出猜對的結果或“Game Over”則結束。

輸入樣例:

58 4
70
50
56
58
60
-2

輸出樣例:

Too big
Too small
Too small
Good Guess!
#include <stdio.h>

int main()
{
    int rand_number, n;
    scanf("%d %d", &rand_number, &n);//輸入隨機數和猜的次數 
    int i;
    int m;
    int flag = 0;
    for (i = 1; i <= n; i++)
    {
       scanf("%d", &m);//輸入n個數 
        if (m < 0)//如果輸入的數為負數,則退出 
            break;
        if (m > rand_number)//如果猜的數大於隨機數 
            printf("Too big\n");
        if (m < rand_number)//小於隨機數 
            printf("Too small\n");
        if (m == rand_number)//等於隨機數 
        {
            if (i == 1)//第一次猜出 
            {
                flag = 1;
                printf("Bingo!\n");
                break;
            }
            if (i == 2 || i == 3)//第二次或者第三次 
            {
                flag = 1;
                printf("Lucky You!\n");
                break;
            }
            if (i > 3)//大於三次 
            {
                flag = 1;
                printf("Good Guess!\n");
                break;
            }
        }
    }
    if (flag == 0)//如果超過n次沒有猜出 
        printf("Game Over\n");
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM