|
这道题目不会啊,帮我编哦,要用C语言的,先在这说谢谢了
' u+ s7 C* D, `, M1 A& f4 y # i) {& ^: r9 R& K
/ Q# N: X+ A9 }+ {* G
课程设计题目:长整数四则运算。
. G' B* ?0 u/ t3 y* k* Q 问题描述:设计一个实现任意长的整数进行加法运算的演示程序。
( J2 u8 y2 o' V! L+ q9 g 基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(2^15 - 1)~(2^15 - 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。
1 ^. R. Q1 R! U! D, u6 |: u测试数据:
! W6 @0 {/ ^% w: ?# H(1)0;0;应输出“0”。
. R3 G8 J- m0 l' i1 z0 b6 a5 d5 h6 D; \: X(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
; m9 _# ]1 J F: L; q (3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。
, D; U. P6 E7 |. g (4)1,0001,0001;-1,0001,0001;应输出“0”。
1 d. B5 E! K7 H }/ d' I+ n(5)1,0001,0001;-1,0001,0000;应输出“1”。
0 j* s# L* {6 _' W1 ~8 s' E$ E- Z2 ?" B (6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。) U6 G/ x6 v( G1 t
(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。& r+ G9 m* [+ `/ j2 O
实现提示:) E" q5 I- e. L& d
(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。
" v( k4 c$ l; w( c) {2 q(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结
* E1 B# l* O4 }; S! {" B! q6 N& {! F9 a! Y8 m% U
点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 |
|