C++有理数表达和计算的示例分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下C++有理数表达和计算的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!#ifndef Ratio
千家信息网最后更新 2026年11月02日C++有理数表达和计算的示例分析
小编给大家分享一下C++有理数表达和计算的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
#ifndef Rational_hpp#define Rational_hpp#include#include using namespace std;class Radtional{public: Radtional(); Radtional(int numerator,int denominator); int getNumerator()const; int getDemominator()const; Radtional add(const Radtional& secondRational); Radtional sub(const Radtional& secondRational); Radtional mult(const Radtional& secondRational); Radtional div(const Radtional& secondRational); int compareTo(const Radtional& secondRational); bool equals(const Radtional& secondRational); int intValue(); double doubleValue(); string toString();private: int numerator,denominator; static int gcd(int n,int d);};#endif /* Rational_hpp */
#include "Rational.hpp"#include#include Radtional::Radtional(){ numerator = 0; denominator = 1;}Radtional::Radtional(int numerator,int denominator){ int factor = gcd(numerator, denominator); this->numerator = ((numerator>0) ? 1: -1)*abs(numerator)/factor; this->denominator = abs(denominator)/factor;}int Radtional::getNumerator()const{ return numerator;}int Radtional::getDemominator()const{ return denominator;}int Radtional::gcd(int n, int d){ int n1 = abs(n); int n2 = abs(d); int gcd =1; for (int i = 1; i<=n1&&i<=n2; i++) { if (n1%i==0&&n2%i==0) { gcd = i; } } return gcd;}Radtional Radtional::add(const Radtional& secondRational){ int n = numerator*secondRational.getDemominator()+denominator*secondRational.getNumerator(); int d = denominator * secondRational.getDemominator(); return Radtional(n,d);}Radtional Radtional::sub(const Radtional &secondRational){ int n = numerator * secondRational.getDemominator() - denominator* secondRational.getNumerator(); int d = denominator * secondRational.getDemominator(); return Radtional(n,d);}Radtional Radtional::mult(const Radtional &secondRational){ int n = numerator * secondRational.getNumerator(); int d = denominator * secondRational.getDemominator(); return Radtional(n,d);}Radtional Radtional::div(const Radtional &secondRational){ int n =numerator * secondRational.getDemominator(); int d =denominator * secondRational.getNumerator(); return Radtional(n,d);}int Radtional::compareTo(const Radtional &secondRational){ Radtional temp =sub(secondRational);//两值相减 if (temp.getNumerator()<0) { return -1; } else if (temp.getNumerator()==0){ return 0; } else return 1;}bool Radtional::equals(const Radtional &secondRational){ if (compareTo(secondRational)==0) { return true; } else return false;}int Radtional::intValue(){ return getNumerator()/getDemominator();}double Radtional::doubleValue(){ return 1.0*getNumerator()/getDemominator();}string Radtional::toString(){ stringstream ss; ss< 1) { ss<<"/"< 简单测试
#include#include "Rational.hpp"int main(int argc, const char * argv[]) { // insert code here... Radtional a(3,2); Radtional b(2,5); Radtional c(1,3); Radtional d(2,6); cout< 测试结果
以上是"C++有理数表达和计算的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
结果
篇文章
有理数
示例
C++
分析
内容
测试
不怎么
大部分
更多
知识
行业
资讯
资讯频道
频道
参考
学习
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
科技金融是不是互联网金融
科技赋能下的互联网金融
互联网电商科技
北京互联网科技有限公司
迪茉互联网科技
四川狮子座互联网科技
科技大学互联网专业好不好
世界互联网科技公司市值排名
南平创想时代互联网科技有限公司
湖南一路畅行互联网科技
西安小鹰速贷互联网科技有限公司
互联网科技如何创业
工业互联网山东科技大学
深圳无忧互联网科技
广州百诚互联网科技有限公司官网
领航科技大厦互联网公司
浙南科技城互联网大厦招聘
恒生科技指数 中概互联网
华人运通互联网科技公司
互联网科技有限公司
天津市摩尔互联网科技
互联网是第几次科技革命的成果
科技互联网项目
互联网中国科技
互联网科技logo设计
兼蜜互联网科技
广州智享互联网科技
福仕德教育科技互联网
10位科技互联网大佬