题目描述:
对分数的简单计算
输入描述:
输入一个正整数n,表示有n组数据
每组数据包括5个整数op,a,b,c,d
op为1表示a/b + c/d;op为0表示为a/b – c/d
其中1 <= T, a,b,c,d <= 100;
输出描述:
输出分数运算结果“x/y”,要求x/y是最简分数(格式要求)。
代码展示:
1.#include <stdio.h>
2.#include <stdlib.h>
3.int ace(int n,int m){
4. return n%m==0?m:ace(m,n%m);
5.}
6.int main(){
7. int n,op,a,b,c,d,x,y,t;
8. scanf("%d",&n);
9. while(n--){
10. scanf("%d%d%d%d%d",&op,&a,&b,&c,&d);
11. if(op==1) x=a*d+b*c;
12. else x=a*d-b*c;
13. y=b*d;
14. t=ace(abs(x),abs(y));
15. printf("%d/%d\n",x/t,y/t);
16.
17. }
18. return 0;
19.}
代码详解:
首先,考虑op的值进行下一步的运算,指定下步的运算符号,并且利用三目运算符进行判断是否可以整除。最终得到最简分数结束运算。