| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:程序运行无反应
只看楼主 加入收藏
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
结帖率:81.82%
收藏
已结贴  问题点数:10 回复次数:4 
程序运行无反应
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000以内
的所有“完数”,并按下面格式输出其因子:6 Its factors are 1,2,3
                                程序运行之后居然无反应 诸位帮我看看什么                                原因
#include<stdio.h>
int fun(int n)
{ int i,s=0;
  for(i=1;i<n;i++)
      if(n%i==0) s+=i;
  if(s==n) return s;
  else return 0;
}
int main()
{ int i,n,z;
  for(n=6;n<=1000;n++)
      z=fun(n);
  if(z!=0) {printf("%d Its factors are ",z);
            for(i=1;i<z;i++)
               if(z%i==0) printf("%d,",i);
           }
  printf("\b");
  return 0;
}
        
搜索更多相关主题的帖子: 运行 
2010-10-26 12:07
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
收藏
得分:3 
帮你改了一下
#include<stdio.h>
int fun(int n)
{
    int i,s = 0;
    for (i=1; i<n; i++)
      if (n%i == 0) s += i;
    if (s == n) return s;
    else return 0;
}
int main()
{
  int i,n,z;
  for (n=6; n<=1000; n++)
  {  z = fun(n);
      if (z != 0)
      {
          printf("%d Its factors are ",z);
          for(i=1;i<z;i++)
            if(z%i==0) printf("%d,",i);
          printf("\n");
      }
  }
  return 0;
}
2010-10-26 12:17
MrBluer
Rank: 4
等 级:业余侠客
威 望:1
帖 子:120
专家分:263
注 册:2010-10-23
收藏
得分:3 
以我的菜鸟级水平根本就觉得你骗得程序太乱了,看了一遍没读懂程序逻辑意思,所以电脑也悬了……,你刚学C吗?我觉得你这些语句使用的很糟糕
2010-10-26 12:22
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
收藏
得分:0 
回复 2楼 pbreak
你修改后的程序,最后一个因子后面的逗号没有云除
2010-10-26 12:39
ququguoguo
Rank: 2
等 级:论坛游民
帖 子:73
专家分:90
注 册:2010-10-20
收藏
得分:3 
我来围观学习的
2010-10-27 00:28
快速回复:程序运行无反应
数据加载中...
 
   



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

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