我编写了一个程序来对分数进行乘法,除法,加法和减法。我只是无法弄清楚加法和减去它们的公式。它会是什么?
到目前为止我的代码:
Fraction subtractFractions(Fraction numDen, Fraction numDen2)
{
Fraction value;
value.numerator=numDen.numerator-numDen2.numerator;
if(numDen.denominator!=numDen2.denominator){
value.denominator=numDen2.denominator/numDen.denominator;
value.numerator*=value.denominator;
value.denominator*=value.denominator;
value.numerator=numDen.numerator-numDen2.numerator;
}
return value;
}
正如你所看到的......在函数中..我的加法和减法函数都是相同的代码,所以我刚发布了一个
答案 0 :(得分:11)
我假设您以int a,int b格式存储数字以表示a / b。如需添加,您需要:
a1 a2 a1*b2+a2*b1
-- + -- = -----------
b1 b2 b1*b2
减法以相同的方式工作。下一步,你应该考虑如何减少分数。
答案 1 :(得分:3)
a/b - c/d = (ad - bc) / bd
然后你需要把它减少到最低的条件(如果你关心的话)。