| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 482 人关注过本帖
标题:我哪儿错了,调用函数的问题,我到底是哪儿有一点不懂的地方,求解
只看楼主 加入收藏
韩学敏
Rank: 2
等 级:论坛游民
帖 子:52
专家分:26
注 册:2012-11-3
结帖率:82.35%
收藏
已结贴  问题点数:10 回复次数:9 
我哪儿错了,调用函数的问题,我到底是哪儿有一点不懂的地方,求解
这是一个求完数的程序,完数就是它的因子和等于这个数,比如6,1+2+3=6,要求输出1-100之间的完数,为什么我的又没有结果输出来



#include<stdio.h>
int factorsum(int number);
int main()
{
    int n,m,i,sum;
    printf("enter n:");
    scanf("%d",&n);
    printf("enter m:");
    scanf("%d",&m);
    if(m<=n)
    {
        for(i=m;i<=n;i++)
        {
            sum=factorsum(i);
            if(sum==i)
            {
                printf("%d",i);
            }
        sum=0;
        }
        
    }
    else
        printf("NO it's fault");
    return 0;
}
int factorsum(int number)
{
    int k,i,result=0;
    for(k=1;k<=i/2;k++)
    {
        number=i%k;
        if(number==0)
            result=result+k;
    }
    return result;
}
搜索更多相关主题的帖子: include number 
2012-11-15 22:02
韩学敏
Rank: 2
等 级:论坛游民
帖 子:52
专家分:26
注 册:2012-11-3
收藏
得分:0 
我知道哪儿错了,可是帮我解决一下怎么能把完数1输出来吧。。。。不要用那么突兀的把1找出来。。。
2012-11-15 22:21
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
收藏
得分:2 
int factorsum(int number)
{
    int k,i,result=0;
    for(k=1;k<=i/2;k++)    //i的初值呢??
    {
        number=i%k;
        if(number==0)
            result=result+k;
    }
    return result;
}
2012-11-15 22:48
韩学敏
Rank: 2
等 级:论坛游民
帖 子:52
专家分:26
注 册:2012-11-3
收藏
得分:0 
回复 3楼 yudeyinji198
i的初值在主程序里面啊。。。。。
2012-11-15 23:26
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:2 
#include<stdio.h>
int factorsum(int number);
int main()
{
    int n,m,i,sum;
    printf("enter n:");
    scanf("%d",&n);
    printf("enter m:");
    scanf("%d",&m);
    if(m<=n)
    {
        for(i=m;i<=n;i++)
        {
            if(i==1)
                sum=factorsum(i+1);
            else
            sum=factorsum(i);
            if(sum==i)
            {
                printf("%d ",i);
            }
        sum=0;
        }
        
    }
    else
        printf("NO it's fault");
    return 0;
}
int factorsum(int number)
{
    int k,i,result=0;
    for(k=1;k<number;k++)
    {
        i=number%k;
        if(i==0)
            result=result+k;
    }
    return result;
}
这个可以把一也输出出来,你看看。
2012-11-16 08:54
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:2 
回复 4楼 韩学敏
局部变量。。。出了函数就谁都不认识它了
2012-11-16 14:33
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:2 
没注释

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-11-16 15:24
无名小卒1016
Rank: 2
等 级:禁止发言
帖 子:34
专家分:42
注 册:2012-8-7
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2012-11-16 15:24
mmrx
Rank: 2
等 级:论坛游民
帖 子:42
专家分:71
注 册:2012-10-18
收藏
得分:0 
没有注释有些困难的说...
2012-11-16 18:47
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
收藏
得分:0 
回复 4楼 韩学敏
问题是,你的i是局部变量啊。不是全局的。。
2012-11-17 20:08
快速回复:我哪儿错了,调用函数的问题,我到底是哪儿有一点不懂的地方,求解
数据加载中...
 
   



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

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