本题要求编写程序,计算两个有理数的和。
输入格式:
输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。
输出格式:
在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。
输入样例1:

1/3 1/6

输出样例1:

1/2

输人样例2:

4/3 2/3

输出样例2:

2

程序代码:

#include<iostream>
using namespace std;
struct fenshu
{int m;int n;
};
fenshu calc(const fenshu a,const fenshu b);
void print(fenshu a);
int main()
{fenshu num[2];fenshu ans;char c;for(int i=0;i<=1;i++)cin>>num[i].m>>c>>num[i].n;ans=calc(num[0],num[1]);print(ans);
return 0;
}
fenshu calc(const fenshu a,const fenshu b)
{fenshu ans;ans.m=a.m*b.n+b.m*a.n;ans.n =a.n*b.n;int i=2;while((i<=ans.m)&&(i<=ans.n)){if((ans.m%i==0)&&(ans.n%i==0)){ans.m=ans.m/i;ans.n=ans.n/i;i=1;}i++;}return ans;
}
void print(fenshu a)
{if(a.n==1)cout<<a.m;elsecout<<a.m<<"/"<<a.n;
}

附:求最大公约数的算法

int gcd(int m, int n)   /* 求最大公约数 */
{int r;if (m == 0 && n == 0)return 0;if (m == 0)return n;if (n == 0)return m;while (1){r = m % n;if (r == 0)break;m = n;n = r;}return n;
}

【c++】有理数加法相关推荐

  1. PTA 基础编程题目集 7-33 有理数加法 C语言

    PTA 基础编程题目集 7-33 有理数加法 C语言 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范 ...

  2. 7-237 有理数加法 (15 分)

    7-237 有理数加法 (15 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. ...

  3. 7-2 有理数加法 (10 分)

    7-2 有理数加法 (10 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出 ...

  4. 有理数加法+有理数均值+排列枚举

    有理数加法 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a ...

  5. 结构-02. 有理数加法

    结构-02. 有理数加法(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 乔林(清华大学) 本题要求编写程序,计算两个有理数的 ...

  6. 7-33 有理数加法 (15 分)

    7-33 有理数加法 (15 分) 题目 7-33 有理数加法 (15 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数, ...

  7. 7-4 有理数加法 (15 分)

    7-4 有理数加法 (15 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出 ...

  8. 有理数加法 (15分)(PTA)

    有理数加法 (15分) 本题要求编写程序,计算两个有理数的和. 输入格式 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式 在一行 ...

  9. 分数的加法,有理数加法

    编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a/b的格式输出两 ...

  10. 有理数加法 (15 分)

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

最新文章

  1. spark编程基础--4.2在spark-shell中运行代码
  2. python控制单片机keil_PCF8591使用及Python控制
  3. Machine Learning week 9 quiz: Anomaly Detection
  4. UVA 1210 Sum of Consecutive Prime Numbers
  5. ArcGIS Android工程迁移到其他电脑不能打开的问题
  6. HTTP 1.1与HTTP 1.0的比较
  7. idea 快捷键获取类的全限定类名(包名+类名)
  8. 前端学习(305):bootstrap4之工具方法
  9. java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作
  10. Linux无法登陆,var目录权限修改导致SSH失败
  11. WCF后传系列(2):深入WCF寻址Part 2—自定义寻址报头
  12. POJ - 1008 Maya Calendar
  13. ConcurrentHashMap源码分析
  14. 2021年PMP考试模拟题3(含答案)
  15. Oracle 锁表查询大全
  16. 从本钢板B看低市盈率投资收益
  17. 多个moudle混淆配置问题
  18. c打包html,cmake使用教程(十一)-使用cpack打包源码并编写自动化脚本上传到仓库...
  19. 第二课,绘制几何图形
  20. 微信小程序:图标的使用(icon)

热门文章

  1. DSP6455开发: dsp.lib库使用总结
  2. java线程切换消耗时间_cpu性能消耗分析
  3. docker容器的资源消耗
  4. 9大“抠门”富豪揭密
  5. 【socket】从计算机网络基础到socket编程——Windows Linux C语言 + Python实现(TCP+UDP)
  6. 如何修改.json文件的内容?
  7. 黑马程序员--java基础--异常(二)
  8. 怎么修改设置路由器默认密码
  9. mysql中depart_MySQL基础语法
  10. 神经网络的简介和特点,神经网络的简介和应用