基本信息
源码名称:c++ 分数运算(入门级)
源码大小:1.89KB
文件格式:.cpp
开发语言:C/C++
更新时间:2019-11-27
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#include<iostream> #include<cmath> using namespace std; class CRational{ long num;//分子 long den;//分母 long gcb(long num,long den);//求最大公约数 void Simplify(CRational &r);//化简分数 public: CRational(long n, long d);//构造函数 CRational add(CRational r);//加法 CRational minu(CRational r);//减法 CRational multi(CRational r);//乘法 CRational divide(CRational r);//除法 int getn();//获取分数的分子 int getd();//获取分数的分母 }; long CRational:: gcb(long num,long den)//辗转相除法求最大公约数 ,利用递归函数 { if(den==0) return num; else return gcb(den,num%den); } void CRational:: Simplify(CRational &r)//化简函数,将分数约分 { int a; a=gcb(abs(r.num),abs(r.den)); //求出分子分母的最大公约数 r.num=r.num/a;//分子除以最大公约数 r.den=r.den/a;//分母除以最大公约数 } CRational:: CRational(long n, long d)//构造函数,将分子和分母赋值 { num=n; den=d; } CRational CRational:: add(CRational r)//加法 { CRational a(0,0); a.num=num*r.den r.num*den; a.den=den*r.den; Simplify(a); return a; } CRational CRational:: minu(CRational r)//减法 { CRational a(0,0); a.num=num*r.den-r.num*den; a.den=den*r.den; Simplify(a); return a; } CRational CRational:: multi(CRational r)//乘法 { CRational a(0,0); a.num=num*r.num; a.den=den*r.den; Simplify(a); return a; } CRational CRational:: divide(CRational r)//除法 { CRational a(0,0); a.num=num*r.den; a.den=den*r.num; Simplify(a); return a; } int CRational:: getn() //得到分子的数值 { return num; } int CRational:: getd() //得到分母的数值 { return den; } int main() { CRational a(13,24); CRational b(4,7); CRational c(3,29); CRational temp(0,0); temp=a.multi(b); temp=temp.minu(c); cout<<temp.getn()<<"/"<<temp.getd(); return 0; }