题目描述
给定两个数的分子和分母,求两个分数的和。
输入描述
多组输入,每组输入包含 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);elseprintf("%d/%d\n", m, n); } return 0;}