本题输入四个整数
a b c d
计算分数相加,即a / b + c / d 的最简分数,即分子 / 分母
样例输入
2 6 4 8
输出
5 / 6
注意:
要求实现分数的最简化以及加运算。
要求输出的分子分母均为化简后结果。例如计算结果为 2 / 6 则应该化简为1 / 3。
如计算结果为负数,则符号放在分子上。例如 -1 / 3 而不是 1 / -3。
#include<iostream> #include<algorithm>//__gcd()辗转相除法,返回最大公因数 using namespace std;//不可少 int main() { int a,b,c,d,fz,fm,gongyinshu; cin >> a >> b >> c >> d; /*1、相加 */ fm = b*d;//分母通分 fz = a*d + b*c;//分子结果 /*2、约分 */ gongyinshu = __gcd(fm,fz);//相加后,返回分子、分母最大公因数 fm = fm / gongyinshu;//分母约分 fz = fz / gongyinshu;//分子约分 if((fz < 0)||(fm < 0)) cout << "-" << abs(fz) << "/" << abs(fm); else cout << fz << "/" << fm; }
-END
标签:分数,分子,补充,fz,分母,约分,加法,gongyinshu,fm From: https://www.cnblogs.com/peitongshi/p/17338743.html