读入4个整数a、b、c、d和一个运算符(‘+’、‘-’、‘*’、‘/’中的一个),进行分数a/b和c/d的对应运算,输出最简结果。
Standard Input
有多组测试数据。输入的第一行是整数T(1<=T<=200),表示随后测试数据的组数。每组测试数据占一行,由四个正整数a,b,c,d和一个运算符组成,相邻数据间有一个空格。
Standard Output
对应每组测试数据,输出分数运算的最简结果,占一行。具体可参照样例。
Samples
Input | Output |
---|---|
3 1 2 3 4 - 35 24 24 5 * 25 72 9 5 / | 1/2-3/4=-1/4 35/24*24/5=7 25/72/9/5=125/648 |
Problem ID | 1891 |
Problem Title | 分数运算 |
Time Limit | 1000 ms |
Memory Limit | 64 MiB |
Output Limit | 64 MiB |
Source | wxiaoping - 2018.4.16 |
用python写很简单,所以没有思考C语言的方法。。。
实现代码如下:
from fractions import Fraction
T = int(input())
fun = []
for x in range(T):
a1, b1, a2, b2, s = map(str, input().split())
a = Fraction(int(a1), int(b1))
b = Fraction(int(a2), int(b2))
if (s == "+"):
res = a + b
elif (s == '-'):
res = a - b
elif (s == '*'):
res = a * b
elif (s == '/'):
res = Fraction(a, b)
biao = str(a1)+'/'+str(b1)+s+str(a2)+'/'+str(b2)+'='+str(res)
fun.append(biao)
for x in range(T):
print(fun[x])