目 录 一、 题目概述(内容及要求) ............................................... 2 二、功能分析 .............................................................................. 2 三、设计 ...................................................................................... 3 四、运行与测试.......................................................................... 4 五、总结 .................................................................................... 2 1 六、参考文献 ............................................................................ 2 1 一、 题目概述(内容及要求) 内容: 请设计一个有效的算法,可以进行两个n 位大整数的四则运算。 ① 长整数长度在二十位以上。 ② 实现两长整数的加、减、乘、除操作。 要求: 1.设计数据结构,存储结构; 2.在 c 兼容环境完成上述题目的代码编写与调试; 3.程序运行界面交互性好; 4.软件运行,给出测试数据。 二、功能分析 1. 设计一个实现长整数进行四则运算的程序,长整数长度在二十位以上,有正负数的区别。 2. 输入每四位一组,组间用逗号隔开,长整数位数没有上限,以分号结束长整型数据的输入。用 lnode 结点数据结构存储数据。每一个数据有一个头结点,它的data 域用来放数据的正负数。其余结点的数都为正整数。 3. 程序包含数据的输入,判断,运算,输出和主函数。 4. 具体程序执行的命令包括: a) 输入函数:inpu ta();inpu tb();//的输入并建立双向循环链表 b) 判断函数:compare();//比较数据的大小 c) 运算函数:u nsigndeadd();//无符号的加法 a) u nsigndesu b();//无符号的减法 b) add();su b();mu l();div ();//加减乘除四则运算 d) 输出函数:div pu t();//除法结果的输出函数 a) pu tou tc();//其余结果的输出函数 e) 主函数:main(); 5 . 系统功能结构框图 主模块输入模块减法模块加法模块乘法模块除法模块输出模块 图2.1 系统功能结构框图 三、设计 首先要考虑的是如何表示长整型数。可以 4 位数形成 1 组,而一个长整型数可能会有很多组这种 4 位数,而每节之间是有先后顺序的,因此我们可以考虑用数组和链表来存储数据。(1 )再考虑到每个长整型数的长度在输入之间是无法预知的,因此使用链表在存储空间的分配上更方便一些...