一个非常简单的C程序

来源:百度知道 编辑:UC知道 时间:2024/09/21 17:38:40
求完数。错在哪?
void main()
{
int m,n, sum=0;
for(m=1;m<=1000;m++)
{
for(n=1;n<m;n++)
if(m%n==0)
sum+=n;
if(sum==m) printf("%d\t",m);
}
}

每次 m 的值变了之后, sum的值应该清零:

int main()
{
int m,n, sum;

for(m=1;m<=1000;m++)
{
sum=0;
for(n=1;n<m;n++)
if(m%n==0)
sum+=n;
if(sum==m) printf("%d\t",m);
}
return 0;
}

sum赋值放在第一层循环内

连这么简单的都不会,你可以去si了

知道简单还问?