标题:求分析程序
只看楼主
魔道生死逆动
Rank: 2
等 级:论坛游民
帖 子:18
专家分:34
注 册:2012-11-7
结帖率:100%
已结贴  问题点数:20 回复次数:6 
求分析程序
#include<stdio.h>
 main()
{
 
    int m,n,sum;

   
    for(m=1;m<=1000;m++)
   
   
        
            
    {
          for(n=1;n<=m/2;n++)
            
        
        {
            if(m%n==0)
                 
             sum=sum+n;
   
               
           
        }   
        if(sum==m)

        {      
         printf(" %d its factory  are : ",m);
           
         
            for(n=1;n<=m/2;n++)

            {

                if (m%n==0)
            
                   printf("%d,",n);   
            }
     
        
         printf("\n");
        }
   
   
   
    }   
    为什么什么也数不出,问题在哪啊?我才学c语言

        

}
搜索更多相关主题的帖子: factory include 
2012-11-07 23:29
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
得分:5 
#include<stdio.h>
int main()
{
    int m,n,sum;   
    for(m=1;m<=1000;m++)            
    {
        sum=0;//需要初始化
        for(n=1;n<=m/2;n++)            
        {
            if(m%n==0)               
               sum=sum+n;              
        }   
        if(sum==m)
        {      
            printf(" %d its factory  are : ",m);                    
            for(n=1;n<=m/2;n++)
            {
                if (m%n==0)
            
                   printf("%4d,",n);   
            }
            
         printf("\n");
        }        
    }
    return 0;
}

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-08 00:00
柳林
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2012-11-7
得分:5 
#include<stdio.h>
void main()
 {

     int m,n,sum;
 
   
    for(m=1;m<=1000;m++)
     
   
    {
        sum=0;
           for(n=1;n<=m/2;n++)
              
        
         {
             if(m%n==0)
                  
              sum=sum+n;
   
               
            
         }   
        if(sum==m)
 
        {      
         printf(" %d its factory are : ",m);
            
         
             for(n=1;n<=m/2;n++)
 
            {
 
                if (m%n==0)
            
                    printf("%d,",n);   
            }
      
         
          printf("\n");
         }
     
   
   
    }
}
必须给变量赋初值,该题目是完成输出1000以内整数中约数之和等于该数的所有整数以及约数的情况
2012-11-08 00:09
魔道生死逆动
Rank: 2
等 级:论坛游民
帖 子:18
专家分:34
注 册:2012-11-7
得分:0 
回复 2楼 zxd543
谢谢
2012-11-08 09:49
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
得分:10 
回复 楼主 魔道生死逆动
程序代码:
/*
修改人:萝卜头   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 编辑 ]
2012-11-08 11:47
某人在心灵
Rank: 1
等 级:新手上路
帖 子:8
专家分:3
注 册:2012-11-7
得分:0 
牛人啊  我都不知道完数 这个概念,貌似以前遇到过水仙花数。
2012-11-08 12:09
lsxlong123
Rank: 2
等 级:论坛游民
帖 子:21
专家分:16
注 册:2012-7-24
得分:0 
lerning
2012-11-08 17:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-386365-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026486 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved