问题:
这个是个把两个分数相加的练习,计算他们的和
我不小心把下面这个方法里的 while 写成了 if,
导致最后计算结果出错。
-(void)reduce //简化分子和分母
{
int u = numerator;
int v = denominator;
int temp;
if (v != 0) //求最大公约数:欧几里德算法--除数除以余数
{
temp = u%v;
u = v;
v = temp;
}
numerator /= u; //除以最大公约数,简化分子
denominator /= u; //除以最大公约数,简化分母
}