y1x2l3 2021-09-28 16:51 采纳率: 50%
浏览 1364
已结题

猜数字游戏随机产生一个100以内的正整数

求指出问题在哪里,我提交后系统显示格式错误。

令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序

#include <stdio.h>
int main()
{
    int number,times,guess,i=0;
    scanf("%d %d %d",&number,&times,&guess);
    while(guess>0)
    {
        i++;//计数猜的次数
        if(i<=times)//规定次数以内的情况
        {
            if(guess>number){printf("Too big");}//猜得过大
            else if(guess<number){printf("Too small");}//猜得过小
            else//猜中了,分情况
            {
                if(i==1){printf("Bingo!");}//一次猜中
                else if(i>1&&i<=3){printf("Lucky You!");}//3次以内猜中
                else{printf("Good Guess!");}//3次到规定次数以内猜中
                return 0;//猜中了,退出程序
            }
        }
        else{printf("Game Over");return 0;}//超过规定次数,退出程序
        scanf("%d",&guess);
    }
    printf("Game Over");//输入负数且没有猜中,退出程序
    return 0;
}
  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-09-28 17:02
    关注

    你的逻辑错了,猜的次数不需要输入
    代码修改如下:

    #include <stdio.h>
    #include <time.h>
    #define N 5 //定义猜的次数
    int main()
    {
        int num,times=0,guess;
        srand((unsigned)time(NULL));
        num = rand()%100; //生成100以内的随机数
        while(1)
        {
            scanf("%d",&guess);
            times++;
            if(times <=N && guess < 0) //输入负数结束循环
                break;
            if(times > N) break; //超出N此后,结束循环
            if(guess > num)
                printf("Too big\n");
            else if(guess < num)
                printf("Too small");
            else 
                break;
        }
        if(times == 1)
            printf("Bingo!\n");
        else if(times >1 && times <=3)
            printf("Lucky You\n");
        else if(times > 3 && times <=N)
            printf("Good Guess\n");
        else
            printf("Game Over\n");
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月7日
  • 已采纳回答 9月29日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据