7-24 猜數字遊戲 (15 分)
阿新 • • 發佈:2018-12-24
猜數字遊戲是令遊戲機隨機產生一個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!
思路:迴圈內不斷比較大小 判斷條件是猜的次數和給定的N 判斷後根據結果輸出對應的提示 並再次輸入猜的數字 同時注意負數情況條件的判斷
#include<stdio.h> int main(){ int n,m; scanf("%d%d",&n,&m); int a; scanf("%d",&a); int c = 1; while(c <= m){ if(a<0){ c = 0; break; } if(a>n){ printf("Too big\n"); scanf("%d",&a); c ++; } if(a==n){ break; } if(a<n && a>=0){ printf("Too small\n"); scanf("%d",&a); c ++; } } if(c == m + 1){ c = 0; } if(c == 0){ printf("Game Over\n"); } if(c==1) { printf("Bingo!\n"); } if(c>1&&c<=3) { printf("Lucky You!\n"); } if(c>3&&c<=m) { printf("Good Guess!\n"); } return 0; }