编程求1000之内的所有完数。一数如等于它的因子之和,这个数就成为完数,如6= 1+2+3 帮我看一下哪里错了

/* 编写程序求1000之内的所有完数。一个数如果恰好等于它的因子之和,这个数就成为完数,如6= 1+2+3 */
int main(int argc, char *argv[]) {
int number,sum=0,n;
for(number=1;number<=1000;number++)
{
for(n=1;n<number;n++)

{
if(number%n==0)

{
sum=sum+n;
if(sum==number)
{
printf("number=%d\n",number);
break;
}

}

}
}

return 0;
}
#include <stdio.h>

int main(int argc, char *argv[]) 
{
int number,sum=0,n; 
for(number=1;number<=1000;number++)  
{
sum=0;//每次初始化sum很重要!
for(n=1;n<number;n++)
 档岩漏       {     行烂
if(number%n==0) 
{     
sum=sum+n;

}
if(sum==number)  //得到所有的因数和之后再检查!
{    
printf("number=%d\n",number); 

 枣郑   }    

return 0;
}