题目描述
给定两个数的分子和分母,求两个分数的和。
输入描述
多组输入,每组输入包含 44 个正整数 a, b, c, da,b,c,d (0 < a, b, c, d < 10000<a,b,c,d<1000),依次代表第一个数的分子,第一个数的分母,第二个数的分子,第二个数的分母
输出描述
对于每组数据,输出的两个分数的和的最简分数形式。(如果分子是分母的倍数,则输出形式为
n/1
)
样例输入
1 2 1 2 1 4 1 2
样例输出
1/1 3/4
这题还是比较简单的,按照小学计算分数的方法一步一步来,最后注意要约分。
#include<stdio.h>
int f(int x,int y)//最大公约数
{
int z;
int r;
if(x < y)
{
z = x;
x = y;
y = z;
}
while(y != 0)
{
r = x%y;
x = y;
y = r;
}
return x;
}
int main()
{
int t, a, b, c, d, m, n;
while(scanf("%d%d%d%d", &a, &b, &c, &d)!=EOF)
{
m=a*d+c*b;
n=b*d;
t=f(m,n);
m=m/t;
n=n/t;
if(m%n==0)
printf("%d/1\n", m, n);
else
printf("%d/%d\n", m, n);
}
return 0;
}