【c++】有理数加法
本题要求编写程序,计算两个有理数的和。
输入格式:
输入在一行中按照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++】有理数加法相关推荐
- PTA 基础编程题目集 7-33 有理数加法 C语言
PTA 基础编程题目集 7-33 有理数加法 C语言 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范 ...
- 7-237 有理数加法 (15 分)
7-237 有理数加法 (15 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. ...
- 7-2 有理数加法 (10 分)
7-2 有理数加法 (10 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出 ...
- 有理数加法+有理数均值+排列枚举
有理数加法 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a ...
- 结构-02. 有理数加法
结构-02. 有理数加法(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 乔林(清华大学) 本题要求编写程序,计算两个有理数的 ...
- 7-33 有理数加法 (15 分)
7-33 有理数加法 (15 分) 题目 7-33 有理数加法 (15 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数, ...
- 7-4 有理数加法 (15 分)
7-4 有理数加法 (15 分) 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出 ...
- 有理数加法 (15分)(PTA)
有理数加法 (15分) 本题要求编写程序,计算两个有理数的和. 输入格式 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式 在一行 ...
- 分数的加法,有理数加法
编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a/b的格式输出两 ...
- 有理数加法 (15 分)
本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数. 输出格式: 在一行中按照a/b的格式输 ...
最新文章
- spark编程基础--4.2在spark-shell中运行代码
- python控制单片机keil_PCF8591使用及Python控制
- Machine Learning week 9 quiz: Anomaly Detection
- UVA 1210 Sum of Consecutive Prime Numbers
- ArcGIS Android工程迁移到其他电脑不能打开的问题
- HTTP 1.1与HTTP 1.0的比较
- idea 快捷键获取类的全限定类名(包名+类名)
- 前端学习(305):bootstrap4之工具方法
- java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作
- Linux无法登陆,var目录权限修改导致SSH失败
- WCF后传系列(2):深入WCF寻址Part 2—自定义寻址报头
- POJ - 1008 Maya Calendar
- ConcurrentHashMap源码分析
- 2021年PMP考试模拟题3(含答案)
- Oracle 锁表查询大全
- 从本钢板B看低市盈率投资收益
- 多个moudle混淆配置问题
- c打包html,cmake使用教程(十一)-使用cpack打包源码并编写自动化脚本上传到仓库...
- 第二课,绘制几何图形
- 微信小程序:图标的使用(icon)
热门文章
- DSP6455开发: dsp.lib库使用总结
- java线程切换消耗时间_cpu性能消耗分析
- docker容器的资源消耗
- 9大“抠门”富豪揭密
- 【socket】从计算机网络基础到socket编程——Windows Linux C语言 + Python实现(TCP+UDP)
- 如何修改.json文件的内容?
- 黑马程序员--java基础--异常(二)
- 怎么修改设置路由器默认密码
- mysql中depart_MySQL基础语法
- 神经网络的简介和特点,神经网络的简介和应用