week01-绪论

有理数基本运算:

1、抽象数据模型

ADT Rational{

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

    数据关系:
        R={  }  //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-绪论_第1张图片

3、代码实现说明

  • 1、构造有理数

  • 2、分子(分母)的返回
    week01-绪论_第2张图片

  • 3、分子(分母)的修改
    week01-绪论_第3张图片

  • 4、求有理数之和
    week01-绪论_第4张图片

  • 5、求有理数之差
    week01-绪论_第5张图片

  • 6、求有理数之积

  • 7、求有理数之商
    week01-绪论_第6张图片

  • 8、约分(求最大公约数)
    week01-绪论_第7张图片

4、运行结果展示

  • 样例
    week01-绪论_第8张图片

  • 分母为零
    week01-绪论_第9张图片

  • 负有理数
    week01-绪论_第10张图片

  • sample
    week01-绪论_第11张图片

5、代码互评

week01-绪论_第12张图片
++++++++++++++++++++++++++++++++++++++++++++++++
week01-绪论_第13张图片

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

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

6、git和码云的使用

- 利用 git 发送文件到码云

week01-绪论_第14张图片
week01-绪论_第15张图片

- 利用 git 从码云下载文件

  • 1)设置 ssh 公钥
    week01-绪论_第16张图片
  • 2)下载文件
    week01-绪论_第17张图片
    week01-绪论_第18张图片

心得体会

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

你可能感兴趣的:(week01-绪论)