1.用ADT的抽象数据模型描述你的有理数数据类型

 ADT Rational{
    数据对象: D={v1,v2|都是ElemType类型} 
    数据关系: R={<v1,v2>} 
    基本操作: 
 InitRational(Rational &R,ElemType v1, ElemType v2);
 huajian(Rational &R); //化简
 DestroyRational(Rational &R); 
 add(Rational &R,Rational R1,Rational R2) ;
 subtraction(Rational &R,Rational R1,Rational R2) ;
 div(Rational &R,Rational R1,Rational R2) ;
 mul(Rational &R,Rational R1,Rational R2) ;
 print(Rational &R);//输出
 Get(Rational R, int i, ElemType &e);//上下差别在于&为C++的语法,要改变的变量取别名 
Status Put(Rational &R, int i, ElemType e); 
}ADT Rational

2.数据结构、函数说明

(1)、构建有理数函数

(2)、有理数相加

(3)、有理数相减

(4)、有理数相乘

(5)、有理数相除

(6)、打印出有理数

(7)、化简有理数

(8)、用e输出分子或分母

(9)、用e修改分子分母

(10)、销毁有理数数组

3.结果展示







4.总结

  • 在这次的数据结构的作业中,老师布置的作业与上学期的课设相同,都是要建立一个项目,虽然题目的难度不是很大,主要是分数的加减乘除,但是主要是练习我们的对于项目的熟练度。
  • 还有就是对于数据的处理,编写定义有理数的数据类型,存储有理数。还有也找回了写程序的生疏感,为新学期做好准备。

5.代码互评




  • 在和宏伟同学的代码互相评价后,我发现我和他主要的代码并没有太大的区别,因为主要的代码并不难,但是主要差别是我在输入输出的时候用的是C而他是用C++,我觉得不太熟练就没用,但是在看他的的代码后还是发现用C++代码比较简洁,还有就是他的代码注释也是很充分,这也是我要学习的地方,还有就是他在化简分数时使用的方法也和我的不一样,我觉得复杂度差不多但是也是一种新的思路。
 posted on 2018-03-08 21:49  陈张鑫  阅读(234)  评论(1编辑  收藏  举报