1. 程式人生 > >7-24 猜數字遊戲

7-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!

 

#include<stdio.h>

int main()
{
	int rand_num,N;
	scanf("%d %d",&rand_num,&N);
	int num[105] = {0};
	int cnt = 0;
	while( 1 ){
		scanf("%d",&num[cnt]);
		if( num[cnt] < 0 ){
			break;
		}else{
			cnt++;
		}
	}
	for( int i=0; i<=cnt; i++ ){
		if( num[i]<0 && i+1<=N ){
			printf("Game Over\n");
			break;
		}
		
		if( i+1 > N ){
			printf("Game Over\n");
			break;
		}
		
		if( num[i] < rand_num ){
			printf("Too small\n");
		}else
		if( num[i] > rand_num ){
			printf("Too big\n");
		}else{
			if( i+1 == 1){
				printf("Bingo!\n");
			}else
			if( i+1>1 && i+1<=3 ){
				printf("Lucky You!\n");
			}else
			if( i+1>3 && i+1<=N ){
				printf("Good Guess!\n");
			}
			break;
		}
	}
	
	return 0;
}