#include"stdio.h"
void main()
{
int s,i,m;
for(m=1;m<1000;m++)
{
s=0;
for(i=1;i<m;i++)
{
if(m%i==0)
s=s+i;
}
}
if(s==m)
printf("%d\n",s);
getch();
}
没结果
#include"stdio.h"
void main()
{
int s,i,m;
for(m=1;m<1000;m++)
{
s=0;
for(i=1;i<m;i++)
{
if(m%i==0)
s=s+i;
}
}
if(s==m)
printf("%d\n",s);
getch();
}
没结果
if(s==m)上面的花括号位置有误,你应该在i循环完了以后就判定s是否等m,修改如下
#include"stdio.h"
void main()
{
int s,i,m;
for(m=1;m<1000;m++)
{
s=0;
for(i=1;i<m;i++)
{
if(m%i==0)
s=s+i;
}
if(s==m)
printf("%d\n",s);
}
getch();
}