| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 400 人关注过本帖
标题:c语言新手求指错(很短的一段代码)
取消只看楼主 加入收藏
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:5 
c语言新手求指错(很短的一段代码)
我的目的是要把1-1000内的所有完数输出,比如说6是完数6的因子为1,2,3。。且6=1+2+3.
就是说一个数所有因子之和为那个数,那么那个数就是完数。







#include <stdio.h>
void main()
{int n,i,s;
i=1;
s=0;
n=1;
for(;n>=1&&n<=1000;n++)
{
    for(;i<n;i++)
    {if((n%i)==0)
    {s=s+i;}
    }
if(s==n)
{printf("%d\t",n);}}
printf("\n");
}
搜索更多相关主题的帖子: include 
2012-11-27 18:37
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
收藏
得分:0 
回复 2楼 浅唱我的Time
请问我的代码那里错了??

菜鸟成长中
2012-11-27 18:49
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
收藏
得分:0 
代码没有运行结果啊。。

菜鸟成长中
2012-11-27 18:53
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
收藏
得分:0 
我的跟你的差不多啊,为什么你的是对的,我的是错的,我再看看

菜鸟成长中
2012-11-27 19:13
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
收藏
得分:0 
回复 5楼 张朝成
改成这样就好了,不知道为什么


#include <stdio.h>
void main()
{int n,i,s;
for(n=1;n<=1000;n++)
{s=0;
    for(i=1;i<n;i++)
    {if(n%i==0)
    {s=s+i;}}
   
if(s==n)
{printf("%d\t",n);}}
printf("\n");
}

菜鸟成长中
2012-11-27 19:21
zxr_fx
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2012-11-21
收藏
得分:0 
回复 5楼 张朝成
不是乱的问题,主要是,i=1与s=0要放到里面去,放到循环里面去,因为第二个循环要连续执行,所以i和s的值要一直初始化。。

菜鸟成长中
2012-11-27 19:28
快速回复:c语言新手求指错(很短的一段代码)
数据加载中...
 
   



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

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