| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5905 人关注过本帖
标题:两个数怎么约分,求思路
只看楼主 加入收藏
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
两个数怎么约分,求思路
比如 6分之2,8分之4,这样的书用C语言怎么约分成3分之1,2分之1
搜索更多相关主题的帖子: C语言 
2012-12-08 11:38
天煞之心
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2012-10-10
收藏
得分:10 
/*
对分子分母约分
*/
#include <stdio.h>
#include <stdlib.h>

int max_divisor(int num_a,int num_b)
{
    int divisor=0;
    int result=1;
    if( num_b%num_a == 0 && num_a ==1 )
    {
        return 0;
    }
    while(result)
    {
        result=num_b%num_a;
        divisor=num_b/num_a;
        num_b=num_a;
        num_a=result;
    }
    return num_b;
}

int main()
{
    int num_a;
    int num_b;
    int max_ab=1;
    printf("输入分子分母:\n");
    scanf("%d%d",&num_a,&num_b);
    {
        max_ab=max_divisor(num_a,num_b);
        if(max_ab){
            num_a=num_a/max_ab;
            num_b=num_b/max_ab;
        }
    }
    printf("约分之后的分数为%d/%d\n",num_a,num_b);
    return 0;
}
2012-12-08 13:41
蓝枫2012
Rank: 2
等 级:论坛游民
帖 子:4
专家分:20
注 册:2012-12-8
收藏
得分:10 
为什么输入4,14这个程序得出来的结果是1-214748365
2012-12-08 16:09
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,看来你的专家分刷的还不够啊。连最大公约数是干什么用的也不知道,仅仅是个数学游戏?

给2楼兄弟提个问题。代码中的divisor你觉得有用么?

重剑无锋,大巧不工
2012-12-08 22:32
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
回复 3楼 蓝枫2012
恩 对啊 是没您刷的多 我新手刚学 我刷分有错?

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-12-09 09:40
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
回复 3楼 蓝枫2012
以后您说话也注意点,我又没问您,您干吗凑热闹?你不告诉就算了 还变相的损人

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-12-09 09:42
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
我嘖,刷分这么猛,我的分都是辛苦钱啊

小小战士,战士中的战斗机!
2012-12-09 09:47
胡沥沥
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:17
专家分:12
注 册:2012-11-5
收藏
得分:0 
如果要求最大公约数给你一个程序::
#include<stdio.h>
int main()
{
int n1,n2,small,gcd=1;
printf("input n1,n2=");
scanf("%d%d",&n1,&n2);
if(n1<n2)
    small=n1;
else
    small=n2;
for(;small>1;small--)
    if(n1%small==0 && n2%small==0)
    {
    gcd=small;break;

    }
printf("%d",gcd);
return 0;
}
2012-12-18 22:32
快速回复:两个数怎么约分,求思路
数据加载中...
 
   



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

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