| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:帮忙改进下一道习题
取消只看楼主 加入收藏
xiepanqi
Rank: 2
等 级:论坛游民
帖 子:43
专家分:55
注 册:2009-10-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
帮忙改进下一道习题
题目如下:
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:
6 its factors are 1,2,3
我编了一个
程序代码:
#include "stdio.h"
void main()
{
    int a,i,j;
    for(i=1;i<=1000;i++)
    {
        for(j=1,a=0;j<i;j++)
        {
            if(i%j==0)a=a+j;
        }
        if(a==i)
        {
            printf("%d its factors are ",i);
            for(j=1;j<i;j++)
            {
                if(i%j==0)printf("%d,",j);
            }
            printf("\b\n");
        }
    }
    
}
答案是出来了,但是我感觉运算重复了
望大家指点下,改进下
谢谢
搜索更多相关主题的帖子: 习题 改进 
2009-11-11 12:27
xiepanqi
Rank: 2
等 级:论坛游民
帖 子:43
专家分:55
注 册:2009-10-24
收藏
得分:0 
回复 3楼 lijm1989
循环判断因子的时候用开方不行的
就拿6来说
6开方大概是2.4左右
而6的因子是1,2,3
2009-11-11 12:45
xiepanqi
Rank: 2
等 级:论坛游民
帖 子:43
专家分:55
注 册:2009-10-24
收藏
得分:0 
回复 6楼 UserYuH
要以6 its factors are 1,2,3的格式表达
2009-11-11 13:40
xiepanqi
Rank: 2
等 级:论坛游民
帖 子:43
专家分:55
注 册:2009-10-24
收藏
得分:0 
回复 10楼 UserYuH
这位大哥
小弟初学C语言
你那代码里我有几句函数不知道什么意思
请你解释下
if(!flag) 是什么意思?
还有最后一句 return 0; 什么意思
谢谢

[ 本帖最后由 xiepanqi 于 2009-11-11 14:45 编辑 ]
2009-11-11 14:42
快速回复:帮忙改进下一道习题
数据加载中...
 
   



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

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