求完数,为啥不出运算结果啊
#include<stdio.h>int main()
{
int a,i,sum=0;
for(a=2;a<=1000;a++)
{
for(i=1;i<a;i++)
{
if(a%i==0)
sum+=i;
}
if(sum==a)
printf("%d",a);
}
return 0;
}
2014-11-29 14:39
程序代码:#include <stdio.h>
int main(void) {
int i, t, s;
for(i=2; i<=1000; i++) {
s=0; ////////////每次循环都把 s 置0
for(t=1; t<i; t++) { ///////////第9行 求因子t
if(i%t==0) {
s+=t; ///////////各因子相加求和
}
}
if(s==i) { //在第9行的for循环外比较,以免把24 (1+2+3+4+6+8=24, 12未加) 之类的数字包含
printf("%4d\t",i);
}
}
printf("\n");
return 0;
}

2014-11-29 16:26
2014-11-29 16:33