-
大小: 1.89KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-02-01
- 語言: C/C++
- 標(biāo)簽: c++??分?jǐn)?shù)運(yùn)算??
資源簡介
代碼片段和文件信息
#include
#include
using?namespace?std;
class?CRational{
long?num;//分子
long?den;//分母
long?gcb(long?numlong?den);//求最大公約數(shù)
void?Simplify(CRational?&r);//化簡分?jǐn)?shù)
public:
CRational(long?n?long?d);//構(gòu)造函數(shù)
CRational?add(CRational?r);//加法
CRational?minu(CRational?r);//減法
CRational?multi(CRational?r);//乘法
CRational?divide(CRational?r);//除法
int?getn();//獲取分?jǐn)?shù)的分子
int?getd();//獲取分?jǐn)?shù)的分母
};
long?CRational::?gcb(long?numlong?den)//輾轉(zhuǎn)相除法求最大公約數(shù)?利用遞歸函數(shù)
{
if(den==0)
return?num;
else
return?gcb(dennum%den);
}
void?CRational::?Simplify(CRational?&r)//化簡函數(shù),將分?jǐn)?shù)約分
{
int?a;
a=gcb(abs(r.num)abs(r.den));?//求出分子分母的最大公約數(shù)
r.num=r.num/a;//分子除以最大公約數(shù)
r.den=r.den/a;//分母除以最大公約數(shù)
}
CRational::?CRational(long?n?long?d)//構(gòu)造函數(shù),將分子和分母賦值
{
num=n;
den=d;
}
評論
共有 條評論