分数加减法
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
- 编写一个C程序,实现两个分数的加减法
- 输入
- 输入包含多行数据
每行数据是一个字符串,格式是"a/boc/d"。
其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。
数据以EOF结束
输入数据保证合法 输出 - 对于输入数据的每一行输出两个分数的运算结果。
注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数 样例输入 -
1/8+3/8 1/4-1/2 1/3-1/3样例输出 -
1/2 -1/4 0 -
#include <stdio.h> int Max_div(int n, int m) { int x = n < 0?-n:n,y = m,t; if(x % y == 0) { printf("%d\n",x/y); return 0; } for(t= x < y?x : y; x % t != 0||y % t != 0; t--); printf("%d/%d\n",n/t,m/t); } int main() { int a,b,c,d; char ch; while(scanf("%d/%d%c%d/%d",&a,&b,&ch,&c,&d) != EOF) { if(ch == '+') { Max_div(d*a+b*c,b*d); } else { Max_div(d*a-b*c,b*d); } } }
- 输入包含多行数据
246

被折叠的 条评论
为什么被折叠?



