数据结构课程设计长整数运算

一、需求分析【问题描述】设计一个程序实现两个任意长的整数求和运算。【基本要求】利用双向循环链表实现长整数的存储,每个结点含一个整型变量。任何整型变量的范围是:-(215-1)~(215-1)。输入和输

一、需求分析 【问题描述】 设计一个程序实现两个任意长的整数求和运算。 【基本要求】 利用双向循环链表实现长整数的存储,每个结点含一个整型变量。 -215-1~215-1 任何整型变量的范围是:()()。输入和输出形式:按中国对于 长整数的表示习惯,每四位一组,组间用逗号隔开。 【测试数据】 100“0” ();;应输出。 2–23456789-76543211“-100000000” (),;,;应输出,,。 3–999999991000000000000“999900000001” (),;,,,;应输出,,。 4100010001-100010001“0” (),,;,,;应输出。 5100010001-100010000“1” (),,;,,;应输出。 二、设计 1. 设计思想 1 ()存储结构:循环双向链表 2 ()主要算法基本思想: 1215-1=32767 、每个结点中可以存放的最大整数为,才能保证两数相加 3276832768 不会溢出。但若这样存,即相当于按进制数存,在十进制数与 4 进制数之间的转换十分不方便。故可以在每个结点中仅存十进制数位, 9999 即不超过的非负整数,整个链表视为万进制数。 2 、可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示 元素结点数目。相加过程中不要破坏两个操作数链表。两操作数的头指针存 于指针数组中是简化程序结构的一种方法。不能给长整数位数规定上限。 2. 设计表示 1 ()函数调用关系图: 2 ()函数接口规格说明: 结构体: structdl_node { intx; dl_node*pre; dl_node*next; };

腾讯文库数据结构课程设计长整数运算