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

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

死循环了
你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;
}