一个关于完数的问题
请教一个关于完数的小问题当我的程序是这样时,运行出来没结果
#include<stdio.h>
void main()
{
int n,s,i;
clrscr();
for(n=2;n<=1000;n++)
{
s=0;
for(i=1;i<n;i++)
if((n%i)==0)s=s+i;
if(s==n)
{
printf("%d,its factors are ",n);
for(i=2;i<=n;i++)
if((n%i)==0)printf("%5d",i);
}
printf("\n");
}
}
而把倒数第三行的printf()语句写到花括号里边
#include<stdio.h>
void main()
{
int n,s,i;
clrscr();
for(n=2;n<=1000;n++)
{
s=0;
for(i=1;i<n;i++)
if((n%i)==0)s=s+i;
if(s==n)
{
printf("%d,its factors are ",n);
for(i=2;i<=n;i++)
if((n%i)==0)printf("%5d",i);
printf("\n");
}
}
}
这样就有结果了,哪位前辈能给我解释一下
在这里先谢了