| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 758 人关注过本帖
标题:麻烦帮我解答一下错误
只看楼主 加入收藏
断了的弦lcx
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-5-8
结帖率:0
收藏
 问题点数:0 回复次数:2 
麻烦帮我解答一下错误
求2到1000之间所有的完数,要求每行输出5个。

#include<stdio.h>
int main(void)
{
    int x,i,sum=0,count=0;
    for(x=2;x<=1000;x++)
    {
        for(i=1;i<x;i++)
        {
            if(x%i==0)
                sum+=i;
        }
        if((sum==x)&&(count%5!=0))
        {   
            printf("%d ",x);
            count++;
        }
        else if((sum==x)&&(count%5==0))
        {
            printf("%d\n",x);
            count++;
        }
    }
}
搜索更多相关主题的帖子: 错误 sum count for printf 
2018-05-08 19:37
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
1000以内的完数只有3个。那就是6,28,496.没有5个那么多。
程序代码:
#include<stdio.h>
int main()
{
    int n,k,i,sum;
    printf("请输入一个正整数\n");
    scanf("%d",&n);
    printf("全部完全数为");
    for(i=1;i<=n;i++)
    { sum=0;     //添加这一行 就行了
        for(k=1;k<i;k++)
        {
            if(i%k==0)
              sum+=k;
        }
        if(sum==i)
           printf("%d ",i);
    }
}
2018-05-08 23:14
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
收藏
得分:0 
程序代码:
#include<stdio.h>
int main(void)
{
    int x,i,sum=0,count=0;
    for(x=2;x<=1000;x++)
    { for(i=1;i<x;i++)
           if(x%i==0)
                sum+=i;
       if(sum==x)
           printf("%d   ",sum);
           sum=0;}
           return 0;
}
2018-05-08 23:22
快速回复:麻烦帮我解答一下错误
数据加载中...
 
   



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

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