设计一个程序实现两个任意长的整数(包括正数和负数)、任意精度实数的算术运算.要求:(1)用动态链表存
答案:2 悬赏:60 手机版
解决时间 2021-03-02 08:34
- 提问者网友:世勋超人
- 2021-03-01 14:28
设计一个程序实现两个任意长的整数(包括正数和负数)、任意精度实数的算术运算.要求:(1)用动态链表存
最佳答案
- 五星知识达人网友:荒野風
- 2021-03-01 15:46
我觉得是这样,链表可以这样设计 [C/C++]:struct value{ int flag; int value; struct value *next;}flag表示标志位,可能的标志有:enum{ FLAG_FUHAO, FLAG_DIGITAL, FLAG_DOT}分别表示符号位,数字位和小数点位.每次读入一个符号、数字或者小数点,就创建一个新节点并挂在当前链表的末尾.value那项只有flag是flag_digital时有效,存入一个0~9的数值.比如读入-12345.54321的话,你的链表就有12个节点,首节点是一个负号,接下来是1,2,3,4,5,然后是小数点标志,然后是5,4,3,2,1.这样,存储的问题就解决了.实际运算的时候,先遍历链表,找到小数点位,没有小数点的话,表示整个数据为整数.小数点前面的m个节点是整数部分,小数点后面的n个节点是小数部分.然后你需要从两条链表(参与运算的两个数)的小数点位开始,按照数学需要按对应位置,也就是链表的不同对应节点去计算,结果保存在一个新的链表里.当然,新链表需要有插入操作,呵呵.大概就是这样,还有问题,欢迎继续咨询.
全部回答
- 1楼网友:雪起风沙痕
- 2021-03-01 17:23
对的,就是这个意思
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯