迷茫的羔羊羊 2021-10-12 23:27 采纳率: 95%
浏览 31
已结题

求解,我这输出怎么无限循环啊🤔,缺了什么东西呢?怎么改啊?求指点🙏

img

img

img

  • 写回答

2条回答 默认 最新

  • Autumn0923 2021-10-13 01:34
    关注

    你写的判断条件有问题,看样子是你还没有理解题意题目说输入的数据都是绝对值不超过1000的整数,这个是前提不应该作为while的判断条件,

    int main()
    {
        int c = 0;
        int a = 0;
        while(1)
        {
            if(c == 250)
            {
                printf("%d",a);
                break;
            }
            else
            a++;
            scanf("%d",&c);    
        } 
        return 0;
    }  
    

    在输入数据时,电脑会先将你输入的数据存到缓冲区内,然后scanf会从中一个个读取,所以只要while循环一直循环scanf就可以将缓冲区的数据读取完毕,所以要想跳出循环,就必须在循环里把结束条件写好,
    而你这个一直输出4,就是因为你输入的数据都是满足绝对值小于1000的,所以循环条件一直满足,而循环内部没有循环结束条件,所以你就一直会看到4,由于这道题只需要知道第一个“250”出现的位置,对于后面的数据不是很关心,所以就可以简单地用一个循环,找到第一个“250”的位置

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月12日

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题