回复 楼主 魔道生死逆动
											
程序代码:
/*
修改人:萝卜头   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 编辑 ]