iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++有理数表达和计算的示例分析
  • 368
分享到

C++有理数表达和计算的示例分析

2023-06-25 12:06:38 368人浏览 八月长安
摘要

小编给大家分享一下c++有理数表达和计算的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!#ifndef Rational_hpp#define&

小编给大家分享一下c++有理数表达和计算的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

#ifndef Rational_hpp#define Rational_hpp#include <stdio.h>#include <string>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 
#include "Rational.hpp"#include <sstream>#include <cstdlib>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<<numerator;    if (denominator>1) {        ss<<"/"<<denominator;    }    return ss.str();}

简单测试

#include <iOStream>#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<<a.toString()<<" + "<<b.toString()<<"="<<(a.add(b)).toString()<<endl;    cout<<a.toString()<<" - "<<b.toString()<<"="<<(a.sub(b)).toString()<<endl;    cout<<a.toString()<<" * "<<b.toString()<<"="<<(a.mult(b)).toString()<<endl;    cout<<a.toString()<<" / "<<b.toString()<<"="<<(a.div(b)).toString()<<endl;    cout<<c.toString()<<" - "<<a.toString()<<"="<<(c.sub(a)).toString()<<endl;    cout<<c.toString()<<"的int转换为"<<c.intValue()<<endl;    cout<<c.toString()<<"的double转换为"<<c.doubleValue()<<endl;    cout<<c.toString()<<"和"<<a.toString()<<"比较结果"<<c.compareTo(a)<<endl;    cout<<c.toString()<<"和"<<d.toString()<<"比较结果"<<c.compareTo(d)<<endl;    cout<<b.toString()<<"和"<<a.toString()<<"比较结果"<<b.compareTo(a)<<endl;    return 0;}

测试结果

C++有理数表达和计算的示例分析

以上是“C++有理数表达和计算的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网其他教程频道!

--结束END--

本文标题: C++有理数表达和计算的示例分析

本文链接: https://www.lsjlt.com/news/304618.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++有理数表达和计算的示例分析
    小编给大家分享一下C++有理数表达和计算的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!#ifndef Rational_hpp#define&...
    99+
    2023-06-25
  • 浅谈C++有理数的表达和计算
    #ifndef Rational_hpp #define Rational_hpp #include <stdio.h> #include <string>...
    99+
    2024-04-02
  • C++中运算符和表达式的示例分析
    小编给大家分享一下C++中运算符和表达式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在编程语言中“表达式”可以近似于“公式”,也就是按照自己的预期进行...
    99+
    2023-06-29
  • C#中正则表达式的示例分析
    这篇文章将为大家详细讲解有关C#中正则表达式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(1)“@”符号符下两ows表研究室的火热,当晨在“@”虽然并非C#正则表达式的“成员”,但是它经常与C...
    99+
    2023-06-18
  • JavaScript中函数表达式的示例分析
    这篇文章将为大家详细讲解有关JavaScript中函数表达式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript函数表达式一、序 &nb...
    99+
    2024-04-02
  • Linq lambda表达式的示例分析
    小编给大家分享一下Linq lambda表达式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linq lambda表达式了解过C# 3.0的新特性的话应...
    99+
    2023-06-17
  • CSS中数学表达式calc()的示例分析
    这篇文章将为大家详细讲解有关CSS中数学表达式calc()的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数学表达式calc()是CSS中的函数,主要用于数学运算...
    99+
    2024-04-02
  • C语言运算符与表达式实例分析
    本篇内容主要讲解“C语言运算符与表达式实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言运算符与表达式实例分析”吧!表达式函 数 概 述表达式是C语言的主体。在C语言中,表达式由操作符...
    99+
    2023-07-02
  • JavaScript正则表达式的示例分析
    这篇文章主要为大家展示了“JavaScript正则表达式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript正则表达式的示例分析”这篇文...
    99+
    2024-04-02
  • PHP8.0之Match表达式的示例分析
    小编给大家分享一下PHP8.0之Match表达式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文我们要说另一个新引入...
    99+
    2024-04-02
  • jmeter正则表达式的示例分析
    小编给大家分享一下jmeter正则表达式的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用jmeter时经常有这样的情况:一个完整的操作流程,需先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就...
    99+
    2023-06-14
  • 正则表达式组的示例分析
    这篇文章主要为大家展示了“正则表达式组的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“正则表达式组的示例分析”这篇文章吧。正则表达式组的理解把正则表达式的一部分放在圆括号内,你可以将它们...
    99+
    2023-06-17
  • VB.NET正则表达式的示例分析
    小编给大家分享一下VB.NET正则表达式的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.选择符 VB.NET正则表达式中“ &brvbar;”...
    99+
    2023-06-17
  • Java数据结构和算法之前缀、中缀和后缀表达式的示例分析
    小编给大家分享一下Java数据结构和算法之前缀、中缀和后缀表达式的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、人如何解析算术表达式如何解析算术表达式?或者换种说法,遇到某个算术表达式,我们是如何计算的:①、求...
    99+
    2023-06-28
  • C++前缀和与差分算法的示例分析
    这篇文章将为大家详细讲解有关C++前缀和与差分算法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、前缀和前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,而差分可以看成前缀和的...
    99+
    2023-06-25
  • shell中正则表达式的示例分析
    这篇文章给大家分享的是有关shell中正则表达式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。正则表达式匹配中文字符的正则表达式:[u4e00-u9fa5]评注:匹配中...
    99+
    2024-04-02
  • Java数据结构和算法之链表的示例分析
    这篇文章主要介绍Java数据结构和算法之链表的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、链表(Linked List)链表通常由一连串节点组成,每个节点包含任意的实例数据(data fiel...
    99+
    2023-06-28
  • Java中正则表达式的示例分析
    这篇文章主要介绍了Java中正则表达式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现...
    99+
    2023-06-15
  • MySQL数据库SELECT查询表达式的示例分析
    这篇文章主要介绍了MySQL数据库SELECT查询表达式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据的管理在很大一部...
    99+
    2024-04-02
  • php计算汉明距离总和的示例分析
    这篇文章主要为大家展示了“php计算汉明距离总和的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php计算汉明距离总和的示例分析”这篇文章吧。两个整数的汉明距离指的是这两个数字的二进制数...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作