回复 楼主 魔道生死逆动
程序代码:
/*
修改人:萝卜头 QQ:32493835
总体分析:分析你的题目,感觉应该是求1—1000之间的完数吧,一个数的所有因子之和等于该数,就说这个数是一个完数
因此我给你的程序修改了三处地方,第一处必须修改,第二、三处可选
*/
#include"math.h"
#include<stdio.h>
main()
{
int m,n,sum;
for(m=1;m<=1000;m++)
{
//第一处修改:这句必须加,每判断一个数是不是完数,要初始化sum,负责当判断第二数是,sum就变成了所有数因子之和了
sum=0;
for(n=1;n<=m/2;n++)
{
if(m%n==0)
sum=sum+n;
}
if(sum==m)
{ //修改第二处:该处是不必要的修改,但是为了输出结果看着清楚,要求该数输出并且右靠齐
printf(" %-5d its factory are : ",m);
for(n=1;n<=m/2;n++)
{
if (m%n==0)
//修改第三处:该处是不必要的修改,但是为了输出结果看着清楚,要求每个因子站5列
printf("%5d,",n);
}
printf("\n");
}
}
}
另告知楼主,这道题目被我引用到博客http://cn123.。感谢光临
[
本帖最后由 hfhf2006 于 2012-11-8 11:56 编辑 ]