|
这道题目不会啊,帮我编哦,要用C语言的,先在这说谢谢了
0 c5 g. h! `% h5 z! e: I9 w $ A: C8 E1 O* J/ ~; X; A8 K t
9 t1 Z; p& u) e( Y$ u
课程设计题目:长整数四则运算。
% h; |1 T0 A3 F; a t3 F) U1 E 问题描述:设计一个实现任意长的整数进行加法运算的演示程序。" Y6 |" e5 ]( t/ \8 r5 E* E
基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是 -(2^15 - 1)~(2^15 - 1)。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。 / J5 [( W7 ?* {# {$ T$ M, [
测试数据:$ E5 A# C4 Z# O+ v
(1)0;0;应输出“0”。+ i y6 h' ~* P5 _0 }) S
(2)-2345,6789;-7654,3211;应输出“-1,0000,0000”。
# P. a9 a" O/ e& ?; H. k (3)-9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。% ?& T4 H6 y. D6 t4 ?* K3 D
(4)1,0001,0001;-1,0001,0001;应输出“0”。( f( q6 \) J6 X0 S: H5 Z# R0 U! @
(5)1,0001,0001;-1,0001,0000;应输出“1”。: e; W% @' g+ }2 }' Z. @( i
(6)-9999,9999,9999;-9999,9999,9999;应输出“1,9999,9999,9998”。
. L4 c- W# T+ i# M8 ~: X( G(7)1,0000,9999,9999;1;应输出“1,0001,0000,0000”。. o6 g' z/ ]1 U* F
实现提示:
9 z |) g7 c) p- ~(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链表表示为万进制。+ m `- e- i1 m' E# {% i. U
(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结9 r v3 w8 V- U
1 J! E4 i! G4 C5 m
点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 |
|