求1-1000完数,不知道哪儿错了

img

求1-1000完数,代码自己找不出来错误,题目是求1-1000完数。希望大家指点迷津,能帮忙指出错误,

第二个for循环判断完数那里改一下,改为从1开始,因为完数等于它真因子之和(除自身以外的约数,从1开始到他自身减1之内的范围的约数之和),修改如下:
参考资料:
什么是完数_百度知道
完全数_百度百科


#include <stdio.h>

int main(void){
    int num;
    int i;
    int sum=0;
    for(num=1;num<=1000;num++){
        sum=0;
        //https://zhidao.baidu.com/question/27474672.html
        for(i=1;i<num;i++){
            if(num%i==0){
                sum=sum+i;
            }
        } 
        
        if(sum==num){
            printf("%d\n",num);
        }
    
    }
    
    return 0;
} 

img

for (i = 1; i < num; i++)