输入两个分数,首先对其求和,再以最简分数的方式输出

有多组测试数据,每组数据输入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;
}