| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:求助,为什么调用的函数无法返回值
只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
求助,为什么调用的函数无法返回值
在论坛上看到个题:正整数a,b的和是100,且b>a,a,b的最大公约数能被3整除,输出满足以上条件的数,我做了后发现怎莫都不对,求指教
程序代码:
#include<stdio.h>
main()
{
    int a,b,i;
    int k(int,int);
    for(a=1;a<50;a++)
    {   b=100-a;
        i=k(a,b);
        if(i%3==0)
        printf("(%d,%d).....%d\n",a,b,i);
    }
    return 0;


}

int k(int a,int b)
{
    int i,o=0;
    for(i=2;i<a/2;i++)
    {
        if(a%i==0&&b%i==0)
        o=i>o?i:o;

    }
    return o;
}
o的值无法正常返回
搜索更多相关主题的帖子: 公约数 正整数 
2012-11-05 09:34
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:4 
lz应该知道最大公约数是怎么回事儿吧???for(i=2;i<a/2;i++)这里的a是小值

   那有没有想到小值(a)就有可能是该公约数呢???这是一个数学问题哦.......
2012-11-05 09:53
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
正整数a,b的和是100,且b>a,a,b的最大公约数能被3整除

有这样的数吗???

最大公约数能被3整除  其和怎么能是100

DO IT YOURSELF !
2012-11-05 10:06
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:4 
求最大公约数的方法是不是错了,不是要用辗转相除法吗

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-11-05 10:16
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
以下是引用爱闹的娃在2012-11-5 09:53:42的发言:

lz应该知道最大公约数是怎么回事儿吧???for(i=2;i
确实有这可能

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-05 10:19
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
以下是引用一个孩子在2012-11-5 10:16:42的发言:

求最大公约数的方法是不是错了,不是要用辗转相除法吗
什么叫辗转相除法?

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-05 10:21
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

DO IT YOURSELF !
2012-11-05 10:26
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
苦也,
怎么小学的知识都忘了,哎。。。。。。。。。。。。。。。。。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-05 10:50
a635958000
Rank: 4
等 级:业余侠客
帖 子:55
专家分:253
注 册:2012-10-26
收藏
得分:4 
#include<stdio.h>
main()
{
    int a,b,i;
    int k(int,int);
    for(a=3;a<50;a++)//你要能被三整除,a最好从3开始
    {   b=100-a;
        i=k(a,b);
       if((i%3==0)&&(i<=a))
        printf("(%d,%d).....%d\n",a,b,i);
    }
    return 0;

}

int k(int a,int b)
{
    int i,o=0;
    for(i=2;i<=a;i++)
    {
        if((a%i==0)&&(b%i==0))
            o=i;
        else continue;
    }
    if(o!=0)
    return o;
}
程序改了一些,你看看,其中正整数a,b的和是100的数中不存在这样的最大公约数被3整除的a和b。你可以换换最大公约数能被4整除什么的试试。
2012-11-05 16:35
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:4 
那天写了一个这样的程序 发现这样的数是不存在的

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-06 00:19
快速回复:求助,为什么调用的函数无法返回值
数据加载中...
 
   



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

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