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、头文件

week01-绪论

3、代码实现说明

  • 1、构造有理数
    week01-绪论

  • 2、分子(分母)的返回
    week01-绪论

  • 3、分子(分母)的修改
    week01-绪论

  • 4、求有理数之和
    week01-绪论

  • 5、求有理数之差
    week01-绪论

  • 6、求有理数之积
    week01-绪论

  • 7、求有理数之商
    week01-绪论

  • 8、约分(求最大公约数)
    week01-绪论

4、运行结果展示

  • 样例
    week01-绪论

  • 分母为零
    week01-绪论

  • 负有理数
    week01-绪论

  • sample
    week01-绪论

5、代码互评

week01-绪论
++++++++++++++++++++++++++++++++++++++++++++++++
week01-绪论

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

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

6、git和码云的使用

利用 git 发送文件到码云

week01-绪论
week01-绪论

利用 git 从码云下载文件

  • 1)设置 ssh 公钥
    week01-绪论
  • 2)下载文件
    week01-绪论
    week01-绪论

心得体会

  • 明白了在 c 中没有引用类型,不能用形如 fun (&a) { //代码 } 的实行定义函数。

相关文章:

  • 2022-01-08
  • 2021-09-10
猜你喜欢
  • 2022-12-23
  • 2021-04-22
  • 2021-12-11
相关资源
相似解决方案