| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1658 人关注过本帖
标题:计算两个整分数的和
只看楼主 加入收藏
tfg0116
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-9
收藏
得分:0 
#include<iostream>
using namespace std;

class Fract
{
    int num;
    int den;
public:
        Fract(int a = 0, int b = 1)
        {
            num = a;
            den = b;
        }
    int gcd(int m, int n)
    {
        int r;
        if(m < n)
        {
            r = m;
            m = n;
            n = r;
        }
        while(r = m%n)
        {
            m = n;
            n = r;
        }
        return n;
    }
    Fract add(Fract f);
    void show()
    {
        cout<<num<<"/"<<den<<endl;
    }
};
Fract Fract::add(Fract f)
{
    Fract sum;
    sum.den = den * f.den;
    sum.num = f.den*num + den*f.num;
    int x = gcd(sum.num, sum.den);
    sum.num = sum.num/x;
    sum.den = sum.den/x;
    return sum;
}
void main()
{
    int x , y, i, j;
    cout<<"Enter x , y, i, j:"<<endl;
    cin>>x>>y>>i>>j;
    Fract f1(x, y), f2(i, j), f3;
    f3 = f1.add(f2);
    f3.show();
}
2008-10-29 22:31
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
收藏
得分:0 
通分

2008-10-29 23:29
yi157
Rank: 1
等 级:新手上路
帖 子:151
专家分:0
注 册:2008-6-3
收藏
得分:0 
[bo][un]csy19881122[/un] 在 2008-10-29 18:44 的发言:[/bo]

要是想化简,就在后面加一个取公约数的代码。

嗯, 谢了
2008-10-30 16:45
yi157
Rank: 1
等 级:新手上路
帖 子:151
专家分:0
注 册:2008-6-3
收藏
得分:0 
[bo][un]tfg0116[/un] 在 2008-10-29 22:31 的发言:[/bo]

#include<iostream>
using namespace std;

class Fract
{
    int num;
    int den;
public:
        Fract(int a = 0, int b = 1)
        {
            num = a;
            den = b;
        }
    int gcd(int m, int n)
    {
        int r;
        if(m < n)
        {
            r = m;
            m = n;
            n = r;
        }
        while(r = m%n)
        {
            m = n;
            n = r;
        }
        return n;
    }
    Fract add(Fract f);
    void show()
    {
        cout<<num<<"/"<<den<<endl;
    }
};
Fract Fract::add(Fract f)
{
    Fract sum;
    sum.den = den * f.den;
    sum.num = f.den*num + den*f.num;
    int x = gcd(sum.num, sum.den);
    sum.num = sum.num/x;
    sum.den = sum.den/x;
    return sum;
}
void main()
{
    int x , y, i, j;
    cout<<"Enter x , y, i, j:"<<endl;
    cin>>x>>y>>i>>j;
    Fract f1(x, y), f2(i, j), f3;
    f3 = f1.add(f2);
    f3.show();
}


很好的
2008-10-30 16:47
快速回复:计算两个整分数的和
数据加载中...
 
   



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

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