|
这道题目不会啊,帮我编哦,要用C语言的,先在这说谢谢了 2 c, x: \* l3 ^7 k7 G
+ `7 Y! A* J. N" R9 Q
2 R. ^5 p7 U* _7 g! x1 H. [( D8 D. E课程设计题目:长整数四则运算。1 W7 b4 m; v: `7 k
问题描述:设计一个实现任意长的整数进行加法运算的演示程序。
7 l; e1 g1 `1 r k& V& T 基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(2^15 - 1)~(2^15 - 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。 - S! T3 g! S7 Q2 W
测试数据:
0 n/ E. }8 r% e8 y(1)0;0;应输出“0”。7 \- h, Y0 f z" z2 a9 E, N, \
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
0 w# Y$ S# J1 b0 u3 D N2 v- x (3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。! q0 |3 r3 g3 \. ]4 T4 N- C' S
(4)1,0001,0001;-1,0001,0001;应输出“0”。# ?0 i& i" J# E. U/ [6 K6 C
(5)1,0001,0001;-1,0001,0000;应输出“1”。8 A$ z! @( ^( c/ Q% n
(6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。% J5 h/ ^, }2 b) q. B- h% I- ?- [
(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。8 G9 U7 X$ q+ l2 f3 X
实现提示:% O& u8 G! W. j
(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。
' A3 G( k& H( x(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结$ n7 Z% u/ G t1 ?" C/ [
! N/ m( s3 L( k# q& W# b点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 |
|