有多组测试数据,每组数据输入2行.第一行代表1个分数,第二行代表第二个分数
这样行吗?有用记得采纳呐!
#include<stdio.h>
int Most(int a, int b)//定义一个函数Most用于求最大公约数
{
int r;
r = a % b;
while (r != 0)//辗转相除法
{
a = b;
b = r;
r = a % b;
}
return b;
}
int main()
{
int a, b, c, d, e, f;
while (scanf("%d/%d+%d/%d", &a, &b, &c, &d) != EOF)//分别输入分数a/b,c/d
{
e = a * d + b * c;
f = b * d;
c = Most(e, f);//将e,f的最大公约数赋值给c
if (f == c)//若相加后分母为1则省去分母
{
printf("%d\n", e / c);
}
else
printf("%d/%d\n", e / c, f / c);
}
return 0;
}