时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
本题要求编写程序,计算2个有理数的和、差、积、商。
输入描述:
输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分
母不为0。
输出描述:
分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的
最简形式“k a/b”,其中k是整数部分,a/b是最简分数部分;若为负数,则须加括号;若除法分母为0,则输出“Inf”。题目保证正确的输出中
没有超过整型范围的整数。
输入例子:
5/3 0/6
输出例子:
1 2/3 + 0 = 1 2/3
1 2/3 - 0 = 1 2/3
1 2/3 * 0 = 0
1 2/3 / 0 = Inf

#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
#include <cmath>
using namespace std;
class Fra
{public :int u, d;Fra(){}Fra(int a, int b){u = a;d = b;}void gcd(){int ul = u, dl = d;int res;if (dl == 0){res = 0;dl = 1;}elseres = ul % dl;while(res != 0){ul = dl;dl = res;res = ul % dl;}u = u/dl; d = d/dl;if (u < 0 && d < 0){u = -u; d =-d;}else if ((u < 0 && d > 0) || (u > 0 && d < 0)){u = -abs(u);d = abs(d);}}void print(ostream& cout){if (d == 0){cout << "Inf";return;}gcd();if (u == 0){cout << 0;return;}if (u / d < 0 || u <0)cout << "(-";if(u/d != 0){cout << abs(u/d);}if (u%d != 0){if(u/d != 0)cout << ' ';cout << abs(u%d) << '/' << abs(d);}if (u / d < 0|| u <0)cout << ")";}friend Fra operator+(Fra& a, Fra& b){return Fra(a.u*b.d + a.d*b.u, a.d * b.d);}  friend Fra operator-(Fra& a, Fra& b){return Fra( a.u*b.d - a.d*b.u, a.d * b.d);}friend Fra operator*(Fra& a, Fra& b){return Fra(a.u * b.u, a.d*b.d);}friend Fra operator/(Fra& a, Fra& b){return Fra(a.u * b.d, a.d*b.u);}
};int main() {Fra a, b;scanf("%d/%d %d/%d", &(a.u), &(a.d), &(b.u), &(b.d));a.print(cout); cout << " + "; b.print(cout); cout << " = "; (a+b).print(cout); cout << endl;a.print(cout); cout << " - "; b.print(cout); cout << " = "; (a-b).print(cout); cout << endl;a.print(cout); cout << " * "; b.print(cout); cout << " = "; (a*b).print(cout); cout << endl;a.print(cout); cout << " / "; b.print(cout); cout << " = "; (a/b).print(cout); cout << endl;return 0;
}

有理数四则运算(20)相关推荐

  1. C++学习之路 | PTA乙级—— 1034 有理数四则运算 (20 分)(精简)

    1034 有理数四则运算 (20 分) 本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是 ...

  2. PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)

    PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)  http://www.patest.cn/contests/pat-b-practise/1034 ...

  3. 【2020模拟考试T4】【PAT乙】1034 有理数四则运算 (20分) 测试点2

    problem 1034 有理数四则运算 (20分) 本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中 ...

  4. 1034. 有理数四则运算(20)

    本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只 ...

  5. 1034 有理数四则运算 (20 分)(c语言)(测试点三)

    本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前 ...

  6. 牛客网_PAT乙级_10234有理数四则运算(20)【通过5/7:格式错误】

    题目描述 本题要求编写程序,计算2个有理数的和.差.积.商. 输入描述: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整 ...

  7. PAT 乙级 1034. 有理数四则运算(20) Java版

    本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只 ...

  8. 1034. 有理数四则运算(20)-PAT乙级真题

    本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照"a1/b1 a2/b2"的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只 ...

  9. 1034 有理数四则运算 (20分)

    本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前 ...

最新文章

  1. 在kubernetes集群中部署mysql主从
  2. oracle数据库的详细安装,Oracle 11g数据库详细安装图文教程
  3. 安装memory analyzer
  4. pointnet分割自己的点云数据_细嚼慢咽读论文:PointNet论文及代码详细解析
  5. mysql8.0新建用户登录_Mysql8.0 创建远程登陆账户
  6. 32位和64位操作系统,二者有何区别?是否64位更快?
  7. Mac OS 添加 MySQL 环境变量
  8. Filmage Screen for Mac 专业录屏软件用这个就足够
  9. 数学建模之lingo使用
  10. java知识体系结构图
  11. 开启阿里云linux下的pure-ftpd被动模式,解决flashfxp可连接但无法下载的问题
  12. 大数据技术——Spark实时计算
  13. Matlab绘制简单动画
  14. ultravnc 设置代理_选择代理记账有何好处及注意事项
  15. Java游戏用户登录注册_用java类模拟游戏的账号的登陆,注册,退出。 1.没有账号,需要注册。 2.注册完成后方可登...
  16. [办公软件]怎么在WPS表格里设置完成率公式?
  17. 14.3 inline、const、mutable、this与static
  18. 2020中国高校薪资排行榜出炉!
  19. 纵览各国关键信息基础设施配套网络安全法规建设
  20. IIS6.0功能及应用详解

热门文章

  1. 内核编程之SSDTHook(3)Hook NtCreateSection监控所有可执行模块加载
  2. Python异步解析主流视频网站视频信息框架
  3. C++动态数组的分配
  4. Python3 range()函数的替代品——xrange()的作用
  5. flutter 生命周期详解
  6. dotnet命令(不掌握)
  7. zabbix3.4 监控Dell iDrac SNMPV2
  8. ESP32学习microPython之(1)--machine内置函数
  9. 误导学生?各类计算机大学排名有多么不靠谱!
  10. 【听课笔记】从0到10的组织进化