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

1241288-20180309144350968-396157703.png

3、代码实现说明

  • 1、构造有理数
    1241288-20180309144419709-1696764026.png

  • 2、分子(分母)的返回
    1241288-20180309144448640-2086975701.png

  • 3、分子(分母)的修改
    1241288-20180309144517875-337745740.png

  • 4、求有理数之和
    1241288-20180309141837228-1380778294.png

  • 5、求有理数之差
    1241288-20180309141918861-1968809654.png

  • 6、求有理数之积
    1241288-20180309142013454-1531824046.png

  • 7、求有理数之商
    1241288-20180309142049647-248420225.png

  • 8、约分(求最大公约数)
    1241288-20180309142456842-1382101261.png

4、运行结果展示

  • 样例
    1241288-20180305221112899-1539296685.png

  • 分母为零
    1241288-20180305220417633-1415168441.png

  • 负有理数
    1241288-20180305221239011-1582669018.png

  • sample
    1241288-20180305221639321-1699629381.png

5、代码互评

1241288-20180306222826959-1584793099.png
++++++++++++++++++++++++++++++++++++++++++++++++
1241288-20180309142606971-1258978969.png

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

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

6、git和码云的使用

- 利用 git 发送文件到码云

1241288-20180305222322941-1751014081.png
1241288-20180306124258856-19406335.png

- 利用 git 从码云下载文件

  • 1)设置 ssh 公钥
    1241288-20180306124505536-1217566265.png
  • 2)下载文件
    1241288-20180306124628838-1597418340.png
    1241288-20180306124701721-204349289.png

心得体会

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

转载于:https://www.cnblogs.com/Lclkris/p/8511588.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值