自己编的一个求1000以内完数的C程序,有点问题,希望高手进来指点一下
源代码如下:#include<stdio.h>
void main()
{
int i=0,j=0,k=0,m=0,n=0,a[10]={0};
for(i=1;i<=1000;i++)
{
k=0,m=0,n=0;
for(j=1;j<i;j++)
{
if(i%j==0)
{
m+=j;
a[k++]=j;//删除这句话,正常
}
}
if(m==i)
{
printf("%d its factors are ",i);
for(n=0;n<k;n++)
{
printf("%d ",a[n]);
a[n]=0;
}
printf("\n");
}
}
}
程序运行之后,结果中没有496,但是把注释的那行删除之后就正常了。