令人疑惑的程序
此程序的目的是求1000以内的完数,得出的结果正确,但最后总是带一行乱码!
请高手帮助修改并讲解!谢谢!
main()
{
int k[11];
int i,a,n,s;
for(a=2;a<=1000;a++)
{
n=0;
s=a;
for(i=1;i<a;i++)
if((a%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
if(s==0)
{
printf("%d is the number:\n",a);
for(i=1;i<n;i++)
printf("%d,",k[i]);
printf("%d\n",k[n])
}
}
}