|
这道题目不会啊,帮我编哦,要用C语言的,先在这说谢谢了 1 A J! ?+ E2 V, k5 k! i
1 p5 S5 ~ W1 P" F
7 [1 }6 _# T1 o# ]
课程设计题目:长整数四则运算。
7 i) _, w$ n, j' i3 a! [ 问题描述:设计一个实现任意长的整数进行加法运算的演示程序。9 }# v! n$ k) g
基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(2^15 - 1)~(2^15 - 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。
4 S R4 M4 `! U+ B测试数据:
: _6 X. |8 b- H& m3 y! w(1)0;0;应输出“0”。
& `* M; q1 s2 ?(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
% q9 c: j6 r* k% M. ^ (3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。- \ G) k% _6 g3 V
(4)1,0001,0001;-1,0001,0001;应输出“0”。' k4 Z! k, K- ~2 l, o6 C
(5)1,0001,0001;-1,0001,0000;应输出“1”。
5 E! u4 d- O& x! O% O/ ] (6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。
1 M6 [9 g" B8 J$ I3 g7 V* [(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。4 e" ~5 \( Q* h" `# m
实现提示:8 u9 p6 ]/ Y$ S5 I8 s
(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。
) x0 _! {: I( L ] x(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结
8 }' b4 i) z8 ]+ d" s' l4 _
/ V* S8 X2 ~# X0 A1 |( b: q. G$ h3 U5 g点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 |
|