编写程序找出1000以内的所有完数,并按下面格式输出因子:
6 its factors are 1,2,3
#include <stdio.h>
int main()
{
int i,j,k,f,sum,factor[100];
for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<i;j++)
{
k=0;
if(i%j==0)
{
sum+=j;
factor[k]=j;
k++;
}
}
if(sum==i)
{
printf("%d\tits factors are ",i);
for(f=0;f<k;f++)
{
printf("%d,",factor[f]);
}
printf("\n");
}
}
return 0;
}
在使用数组输出时为什么会出错?
以下是运行结果: