当前位置: 代码迷 >> 综合 >> P1017 分数加法
  详细解决方案

P1017 分数加法

热度:40   发布时间:2023-12-13 05:38:22.0

题目描述

给定两个数的分子和分母,求两个分数的和。

输入描述

多组输入,每组输入包含 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;}