输入一个允许猜测的最大整数n,再输入一个你所猜的整数yournumber,与被猜数mynumber(=88)进行比较,若相等,显示猜中的消息;若不等,
显示与被猜数的大小关系,最多允许猜n次。如果第1次就猜中,显示:“Bingo!”;如果是3次(含)以内猜中的,则显示“Lucky You!”,
如果是超过3次(n次以内)猜中的,显示“Good Guess!”;如果太大,显示“Too bigger!”,如果太小,显示“Too smaller!”;如果超过n次,
则显示“Game Over!”,如果在n次以内,输入了一个负数,则也显示“Game Over!”。
输入输出示例(括号内是说明)
输入
4 (repeat=4)
4 (n=4)
90
60
70
88
5 (n=5)
-3
3 (n=3)
88
1 (n=1)
80
输出(注意大小写应一致)
Too bigger! (第一批数据输出)
Too smaller!
Too smaller!
Good Guess!
Game Over! (第二批数据输出)
Bingo! (第三批数据输出)
Too smaller! (第四批数据输出)
Game Over!
下面是我的解答,在做的时候发现输入了负数以后输入任意数,仍然会判断大小。能不能指导一下是什么问题?谢谢!
#include<stdio.h>
int main(void)
{
int n,mynumber=88,yournumber;
int repeat, ri;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d",&n);
int i;
for(i=1;i<=n;i++){
scanf("%d",&yournumber);
if(yournumber >= 0){
if(yournumber > mynumber)
printf("Too bigger!\n");
else if(yournumber < mynumber)
printf("Too smaller!\n");
else if(yournumber==mynumber){
switch(i){
case '1':printf("Bingo!\n");break;
case '2':printf("Lucky you!\n");break;
case '3':printf("Lucky you!\n");break;
}
if(i>3&&i<=n)
printf("Good Guess!\n");
if(i>n)
printf("Game over!\n");
}
}
else
printf("Game over!\n");
}
}
}