|
这道题目不会啊,帮我编哦,要用C语言的,先在这说谢谢了
( _. N1 A4 K! O & h- M+ k) h2 P- ]
: C- N) Y, F; M+ R% ^1 U, C! b7 V8 |课程设计题目:长整数四则运算。$ g, G" i2 A$ `2 W7 @
问题描述:设计一个实现任意长的整数进行加法运算的演示程序。
, Z; O1 v& h/ z4 E5 q4 S 基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(2^15 - 1)~(2^15 - 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。 8 S0 n$ K" n* n* `
测试数据:
/ `, t. ?" y8 T& d! k+ _; i(1)0;0;应输出“0”。/ A5 x( K! j7 I+ ~
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
. ?# z* N% A. G: J (3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。
5 i! H$ n K, T& x l$ _4 s, l (4)1,0001,0001;-1,0001,0001;应输出“0”。1 M+ D) S! U. h0 [" u+ I% @* w/ @
(5)1,0001,0001;-1,0001,0000;应输出“1”。& e* S0 \7 W" G, \) B# \
(6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。
) Q6 X/ P4 g, x' ^, c(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。+ d/ Q1 c7 a, y# l
实现提示:8 c4 t; V! y2 r/ i' l# [
(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。
7 Q ]. d# p% w- ?3 J, [$ l(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结
- n! W6 D+ C2 _' f9 e. E
6 W$ A) N$ L, w& m0 V( R+ s点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 |
|