week01-绪论

有理数基本运算:

1、抽象数据模型

ADT Rational{

	数据对象:
		D={ e1, e2 | e1,e2属于 int 类型} 

	数据关系:
		R={ <e1,e2> }  //e1为有理数的分子,e2为有理数的分母

	基本运算:
		InitRetion( *T, e1, e2):构造有理数T,元素e1,e2分别被赋以分子、分母值

		DestroyRetion( *T ):销毁有理数T

		put( i, *T, e):用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母

		modify( i, *T, e):将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母

		add( *T1, *T2, *T3 ):有理数T1,T2相加,结果存入有理数T3

		minus( *T1, *T2, *T3 ):有理数T1,T2相减,结果存入有理数T3

		mult( *T1, *&T2, *T3 ):有理数T1,T2相乘,结果存入有理数T3

		division( *T1, *T2, *T3 ):有理数T1,T2相除,结果存入有理数T3

 }ADT Rational

2、头文件

3、代码实现说明

  • 1、构造有理数

  • 2、分子(分母)的返回

  • 3、分子(分母)的修改

  • 4、求有理数之和

  • 5、求有理数之差

  • 6、求有理数之积

  • 7、求有理数之商

  • 8、约分(求最大公约数)

4、运行结果展示

  • 样例

  • 分母为零

  • 负有理数

  • sample

5、代码互评


++++++++++++++++++++++++++++++++++++++++++++++++

- 梦冰在有理数定义的时候是用 new 动态分配空间优点是按需分配不浪费存储空间;不足之处在于若指针没有及时释放,则会成为指向任意空间的野指针。

- 我在有理数定义是使用结构体优点是结构体按计划分配,由编译器给定空间,在作用域使用完毕系统自动释放所占空间;不足之处在于结构体是静态分配,只有固定的内存和位置,不能根据需求任意改变大小。

6、git和码云的使用

- 利用 git 发送文件到码云


- 利用 git 从码云下载文件

  • 1)设置 ssh 公钥
  • 2)下载文件

心得体会

  • 明白了在 c 中没有引用类型,不能用形如 fun (&a) { //代码 } 的实行定义函数。
posted @ 2018-03-05 22:45  LCLkris  阅读(400)  评论(12编辑  收藏  举报