木落风高天宇开gy 2021-12-11 16:12 采纳率: 100%
浏览 75
已结题

devc++ 运行完后什么都没有


/*.编程,统计输出整数100至100000之间所有数字之和为5的整数的总个数。
     输出120*/

#include<stdio.h>
int main ()
{
    int i,sum=0,counter=0;
    for(i=100;i<100000;i++)
    {
        while(i!=0)
        {
            sum+=i%10;
            i/=10;
        }
        if(sum==5)
        counter++;
    }
    printf("%d",counter);
    return 0;
}

img

运行完之后就是这样,是我代码的问题吗

  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-12-11 16:17
    关注

    死循环了
    你while中不要用i变量,i变量是for循环中的变量,这么使用的话,导致每次while循环结束后,i都被更新为0,影响了for循环,导致死循环了。
    内循环执行完后,sum每次都需要初始化为0.
    代码修改如下:

    #include<stdio.h>
    int main ()
    {
        int i,sum=0,counter=0;
        for(i=100;i<100000;i++)
        {
            int num=i; 
            while(num!=0)
            {
                sum+=(num%10);
                num/=10;
            }
            if(sum==5)
            counter++;
            sum=0;
        }
        printf("%d",counter);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 12月11日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料