当前位置: 首页 > news >正文

c++实现分数操作

此代码包含了分数的操作,包含以下操作:

约分;

求最大公因数和最小公倍数;

分数减法;

假分数转换成带分数。

#include<iostream>
using namespace std;
#define fo(i,begin,end) for(int i=begin;i<=end;i++)
int gcd(int a,int b) {return !b?a:gcd(b,a%b);
}
int lcm(int a,int b) {return a*b/gcd(a,b);
}
void cl(int x) {while(x) {x/=10;cout<<"-";}cout<<"\n";return ;
}
int main() {cout<<"0.退出\n";cout<<"1.约分\n";cout<<"2.求最大公因数和最小公倍数\n";cout<<"3.分数加法\n";cout<<"4.假分数转带分数\n";cout<<"请输入操作编号:\n";int sr;cin>>sr;while(sr!=0) {if(sr==1) {int a,b;cout<<"输入分母:\n";cin>>a;cout<<"输入分子:\n";cin>>b;cout<<"结果:\n";int ans1=b,ans2=a;int ans12=gcd(ans1,ans2);cout<<ans1/ans12<<"\n";cl(max(ans1/ans12,ans2/ans12));cout<<ans2/ans12<<"\n";} else if(sr==2) {int op;cout<<"1.最大公因数\n";cout<<"2.最小公倍数\n";cout<<"请输入操作编号:\n";cin>>op;while(op!=1&&op!=2) {cout<<"输入错误,请重新输入:\n";cin>>op;}if(op==1) {cout<<"输入两个数:\n";int a,b;cin>>a>>b;cout<<"gcd(a,b):"<<gcd(a,b)<<"\n";} else if(op==2) {cout<<"输入两个数:\n";int a,b;cin>>a>>b;cout<<"lcm(a,b):"<<lcm(a,b)<<"\n";}} else if(sr==3) {int a,b,c,d;cout<<"请输入第一个数的分母:\n";cin>>a;cout<<"请输入第一个数的分子:\n";cin>>b;cout<<"请输入第二个数的分母:\n";cin>>c;cout<<"请输入第二个数的分子:\n";cin>>d;cout<<"第一个分数:\n";cout<<b<<"\n";cl(max(a,b));cout<<a<<"\n";cout<<"第二个分数:\n";cout<<d<<"\n";cl(max(c,d));cout<<c<<"\n";cout<<"结果:\n";int ans1=lcm(a,c)/a*b+lcm(a,c)/c*d,ans2=lcm(a,c);int ans12=gcd(ans1,ans2);cout<<ans1/ans12<<"\n";cl(max(ans1/ans12,ans2/ans12));cout<<ans2/ans12<<"\n";} else if(sr==4) {int a,b;cout<<"请输入分母:\n";cin>>a;cout<<"请输入分子:\n";cin>>b;cout<<"结果是:\n";bool f=0;if(b%a==0) {cout<<b/a<<"\n";f=1;}if(!f) {cout<<"整数部分:\n";cout<<b/a;cout<<"\n小数部分:\n";cout<<b%a<<"\n";cl(max(b%a,a));cout<<a<<"\n";}}cout<<"看好了吗?\n";string is;cin>>is;system("cls");cout<<"0.退出\n";cout<<"1.约分\n";cout<<"2.求最大公因数和最小公倍数\n";cout<<"3.分数减法\n";cout<<"4.假分数转带分数\n";cout<<"请输入操作编号:\n";cin>>sr;}cout<<"欢迎再次光临\n";return 0;
}

相关文章:

  • 基于Dockers的Bitwarden的私有本地部署
  • 深度剖析多模态大模型中的视频编码器算法
  • 《大模型微调实战:Llama 3.0全参数优化指南》
  • c++面向对象:接口设计
  • MYSQL数据库集群高可用和数据监控平台
  • JAVA EE_网络原理_网络层
  • 机器视觉开发教程——C#如何封装海康工业相机SDK调用OpenCV/YOLO/VisionPro/Halcon算法
  • 《设计模式之禅》笔记
  • Win全兼容!五五 Excel Word 转 PDF 工具解决多场景转换难题
  • 【github分享】开发者学习路线图
  • 前端代理问题
  • 技术书籍推荐(002)
  • spark运行架构及核心组件介绍
  • 使用go开发安卓程序
  • 用户线程和守护线程
  • 如何配置光猫+路由器实现外网IP访问内部网络?
  • 【MySQL】页结构详解:页的大小、分类、头尾信息、数据行、查询、记录及数据页的完整结构
  • C# Newtonsoft.Json 使用指南
  • 最大化效率和性能:AKS 中节点池的强大功能
  • Kubernetes排错(十一):lsof命令实战场景
  • 广东早熟荔枝“抢滩”上海,向长三角消费者喊话:包甜,管够
  • 中国一直忽视欧盟经贸问题关切?外交部:事实证明中欧相互成就,共同发展
  • 中国科考船在钓鱼岛附近活动,外交部:完全是中国主权权利范围内的事
  • A股三大股指集体高开
  • 乘联分会:上半年车市价格竞争温和,下半年价格战或再开启
  • 中国工程院院士、国医大师石学敏逝世