数据结构--抽象数据类型
1.作业内容
有理数的抽象数据类型
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180308155813055-480920987.png)
2.数据结构、函数说明
头文件
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310164535377-1029839909.png)
main函数
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310170105931-329910334.png)
3.代码实现说明
(1)构造有理数
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310164420602-2146781759.png)
(2)销毁有理数
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310171527383-621455247.png)
(3)用e返回有理数的分子或分母
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310130905253-1614148106.png)
(4)改变有理数的分子或分母
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310131034857-210952205.png)
(5)有理数加法
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310154811900-1570001873.png)
(6)有理数减法
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310154821597-1996703356.png)
(7)有理数乘法
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310154832213-822833380.png)
(8)有理数除法
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310154841928-1871759611.png)
(9)有理数约分
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310154854706-1907041759.png)
4.结果展示
1.有理数的加减乘除
(1)R1、R2均为正数
R1=R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310155227741-5558220.png)
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310155835919-1218592868.png)
R1>R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310155406853-746421949.png)
R1<R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310155447063-1666285599.png)
(2)R1、R2中有分子或分母等于0
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310160212788-841579420.png)
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310160311046-830794337.png)
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310160525080-1821513868.png)
(3)R1、R2中有一个负数
R1>R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310161623476-678640591.png)
R1<R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310161738011-1625667006.png)
(4)R1、R2均为负数
R1=R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310161410461-610267111.png)
R1>R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310161505461-1596866989.png)
R1<R2
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310161259883-1350758070.png)
2.构造有理数
(1)R分子为0
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310163643441-32472890.png)
(1)R分母为0或负数
![](https://images2018.cnblogs.com/blog/1120992/201803/1120992-20180310164222091-688133426.png)
6.总结
1、构造有理数的数据类型看似简单实际上要考虑得很详细,例如分子分母的正负性、分子或分母为零等情况
2、
原文地址:https://www.cnblogs.com/nongxianqing/p/8528959.html