|
这道题目不会啊,帮我编哦,要用C语言的,先在这说谢谢了 9 x. [7 J5 U, `+ x
: y! p- `( \6 Q0 f
0 `$ b: y7 A4 \4 q3 k. [$ U ]% I课程设计题目:长整数四则运算。4 W/ F H9 M% b# V
问题描述:设计一个实现任意长的整数进行加法运算的演示程序。2 s7 b. |' ?& C( y+ @) O
基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(2^15 - 1)~(2^15 - 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。 8 [% s; u" U! S& w, k
测试数据:
3 O" {% m" {: q% v% I: T& k5 W4 x' _(1)0;0;应输出“0”。2 C9 w' ?: g! p1 S# S. f, h
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。6 _" U4 O+ [# G
(3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。- q2 X5 N* B3 W x
(4)1,0001,0001;-1,0001,0001;应输出“0”。
+ k8 w" M& ?" l# Z$ l' A(5)1,0001,0001;-1,0001,0000;应输出“1”。
+ P8 V9 I/ ?2 v- ~ (6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。( k0 Y, A; B3 d3 c* y
(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。
0 B4 v0 S7 }+ h1 |- ?" {3 J实现提示:1 s. s5 v, d1 U7 Y% O/ b4 Y o
(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。
6 W8 `2 q- w) i4 [3 i' Y0 i3 G/ g+ Q(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结
6 e' Q4 F; l8 F- h( h+ s2 ]7 B& [7 H! T
点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 |
|