数据结构-分数类(一)

本文介绍分数类在数据结构中的应用,特别是在高精度计算中的重要性。通过实例展示了如何处理分数乘法,并提供了分数类的基本功能,包括输入、输出、赋值、加减乘除、约分和比较操作。
摘要由CSDN通过智能技术生成

分数代表整体的一部分,或更一般的,任何数量化相等的一部分。

分数是一个整数a和一个正整数b的不等于整数的比。

在一般的数值计算中,一般把分数计算为实数表示然后进行计算,但是有些对精度要求特别高的计算过程中,我们就需要用到分数了。

一个简单的小例子,输入分数 a/b , c/b,输出结果 a/b * c/b,要求用输出用分数表示。

输入:整数a,b,c,d

输出:分数相乘的结果。

运行结果:

分数类 本类实现了分数的一些基本功能,如输入输出,赋值,加减乘除四则运算,约分,比较大小功能。

首先是辅助宏的定义:

#define POSITIZE 1 //正位(含0)
#define NEGATIVE -1 //负位
typedef long long int LL;

用到的辅助函数:

LL gcd(LL a, LL b)
{
    return (b == 0) ? a : gcd(b, a%b);
}

LL lcm(LL a, LL b)
{
    return a / gcd(a, b) * b;
}

下面我们来看分数类的定义。

<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值