分数计算器

Description

Victor是一位很著名的科学家,在他的研究工作中经常要进行分数的运算。

为了提高工作效率,Victor决定设计一个简易的分数计算器,该计算器能够进行分数的加、减、乘、除运算,并能将结果化为最简分数和带分数。

假设参加运算的分数都不是带分数,并将整数看作分母为1的分数。

你能发挥聪明才智,帮助Victor设计出这个分数计算器吗?

(1)分数乘法法则可归结为:

分数乘以分数,用分子相乘的积作分子,分母相乘的积作分母。

(2)分数除法法则可归结为:

甲数除以乙数(0除外),等于甲数乘以乙数的倒数。例如:

Input

第一行:输入第一个分数的分子和分母。 第二行:输入运算符。 第三行:输入第二个分数的分子和分母。

Output

以q/p的形式输出运算结果的最简分数;是假分数的还要化为带分数,先输出整数部分,再输出后面部分。

Samples

输入数据 1

2 3
+
1 4

Copy

输出数据 1

11/12

Copy

输入数据 2

3 7
/
1 2

Copy

输出数据 2

6/7

Copy

Limitation

1s, 1024KiB for each test case

CODE:

#include<bits/stdc++.h>
using namespace std;
int main() {
	int n,m,a,s;
	char d;
	cin>>n>>m>>d>>a>>s;
	int z=0,x=0;
	if(d=='*')z=n*a,x=m*s;
	if(d=='/')z=n*s,x=m*a;
	if(d=='+')z=n*s+m*a,x=m*s;
	if(d=='-')z=n*s-m*a,x=m*s;
	int asd=__gcd(z,x);
	z=z/asd;
	x=x/asd;
	if(z/x>0)cout<<z/x<<" ";
	cout<<z%x<<"/"<<x;
	return 0;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值