C语言求完数 那错了呀?帮我看看

int main()
{
int sum,div,n=0;
for(sum=1;sum<=1000;sum++)
{
for(div=1;div<sum&&sum%div==0;div++)
n+=div;
if(n==sum)
printf("%d\n",sum);

 }
return 0;

}


int main()
{
    int sum, div,n;
    for (sum = 1; sum <= 1000; sum++)
    {
        n = 0;
        for (div = 1; div < sum; div++){
            if(sum % div == 0){
                n += div;
            }
        }
        if (n == sum)
            printf("%d\n", sum);
    }
    return 0;
}