只求方法,不要代码,代码我要自己敲
看到别人说用双向链表,进借位,但这些我都没学
具体要怎么做,说得具体点~说明步骤就行
有了方法我就自己琢磨怎么实现代码了
设计一个程序实现两个任意长的整数(包括正数和负数)的算术运算。
要求:
(1)用动态链表存贮数据,每结点含一个整型变量,表示若干位数。
(2)整数输入和输出每3位1组,组间用逗号隔开。
(3)实现加、减运算。
就是把代码的流程说一说,嗯
【求方法】C++的任意长整数加减计算器
答案:1 悬赏:10
解决时间 2021-12-23 01:23
- 提问者网友:北故人
- 2021-12-22 17:00
最佳答案
- 二级知识专家网友:青灯壁纸妹
- 2021-12-22 17:30
这个。。要求里都写得很明白了。。还要怎么说。。
双向链表没学的话建议先去研究链表。。
至于进借位。。完全就是小学数学嘛。。。。
嗯。。每结点含一个整型变量,表示若干位数。这个比如说,每个结点你用一个int表示五位数,然后做加法的时候,当相应的两个结点相加之后,得到的结果如果大于五位,那么你就应该把最高位的值加到表示更高位的相应结点里。。。。比如:
结点1 结点2
数1: 123 55555
+ ) 数2: 321 66666
------------------------------------
结果: 444 (1)22221
这样之后,你应该把低位多出来的那个1,加到高位结果444上,就是:
结果: 445 22221
这样能明白么?
至于输出每3位一组,可以从头整理,也可以偷懒每个结点只表示3位数,输出的时候只要输出一个节点加一个逗号就可以了。~
如果非要流程的话 :
输入数据A,B----->根据AB构造两个链表----->两张链表相应位进行运算----->整理成3位一组----->输出结果。。。。
嗯。就这样。~
双向链表没学的话建议先去研究链表。。
至于进借位。。完全就是小学数学嘛。。。。
嗯。。每结点含一个整型变量,表示若干位数。这个比如说,每个结点你用一个int表示五位数,然后做加法的时候,当相应的两个结点相加之后,得到的结果如果大于五位,那么你就应该把最高位的值加到表示更高位的相应结点里。。。。比如:
结点1 结点2
数1: 123 55555
+ ) 数2: 321 66666
------------------------------------
结果: 444 (1)22221
这样之后,你应该把低位多出来的那个1,加到高位结果444上,就是:
结果: 445 22221
这样能明白么?
至于输出每3位一组,可以从头整理,也可以偷懒每个结点只表示3位数,输出的时候只要输出一个节点加一个逗号就可以了。~
如果非要流程的话 :
输入数据A,B----->根据AB构造两个链表----->两张链表相应位进行运算----->整理成3位一组----->输出结果。。。。
嗯。就这样。~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯