本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。 输出格式: 输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数部分。
时间: 2024-04-09 13:30:05 浏览: 207
输入一个正整数n,求输出为分数形式
5星 · 资源好评率100%
这道题的要求很简单,就是求n个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输入的和也必须是有理数的形式。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。
输入格式: 输入第一行给出一个正整数n(≤100)。随后1行按格式a1/b1 a2/b2 ...给出n个有理数。题目保证所有分母非零,且每个分数的绝对值不超过1000。
输出格式: 输出第一行是所有数的和的最简形式k/g(k是分子,g是分母)。输入格式要求,如果k/ g的分子是负数,则加括号;如果分子绝对值大于等于分母,则也要在整数部分前面加括号。
样例输入: 5 2/5 4/15 1/30 -2/60 8/3
样例输出: 3 1/3
分析:
1、读数据,分别保存成分子分母的两个数组,分别为a和b。
2、计算总和,分别得到分子和分母,分别为c和d。
3、用辗转相除法求最大公约数gcd,将c和d都除以gcd,得到最简分数。
4、将最简分数化成混合分数形式输出。
5、完成。
下面是代码实现:
阅读全文