求完数,我的怎么不能显示?

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:28:21
#include"stdio.h"
main()
{
int a,b,c=0,d,e;
for(a=1;a<1000;a++)
for(b=1;b<a;b++)
{if(a%b==0)
c=c+b;
if(b==a)
break;}
if(a==c)
printf("%4d",a);
getch();

}

告诉我哪里错了

#include"stdio.h"
main()
{
int a,b,c;
for(a=1;a<1000;a++)
{c=0;//对每个a都要把c置初值0
for(b=1;b<a;b++)
{if(a%b==0)
c=c+b;
} //if(b==a) break没有必要,b=a时不满足循环条件的
if(a==c) //这个判断要放在第一个for循环内
printf("%4d",a);
}
}

完全不懂……

你要干什么?

我也是 看不明白你的用意!