长整数的四则运算

长整数的四则运算

ID:38952623

大小:184.13 KB

页数:12页

时间:2019-06-22

长整数的四则运算_第1页
长整数的四则运算_第2页
长整数的四则运算_第3页
长整数的四则运算_第4页
长整数的四则运算_第5页
资源描述:

《长整数的四则运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程名称:《数据结构》课程设计课程设计题目:长整数的四则运算姓名:院系:计算机学院专业:计算机科学与技术年级:学号:指导教师:2014年月日目录1课程设计的目的………………………………………………………………32需求分析………………………………………………………………………33课程设计报告内容……………………………………………………………33.1概要设计……………………………………………………………………33.2详细设计……………………………………………………………………33.3调试分析………………………………………………………

2、……………33.4用户手册……………………………………………………………………43.5测试结果……………………………………………………………………43.6程序清单……………………………………………………………………54小结…………………………………………………………………………x5参考文献………………………………………………………………81.课程设计的目的(1)熟练使用C语言编写程序,解决实际问题;(2)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;(3)初步掌握软件开发过程的问题分析、系统设计、程序编码、测

3、试等基本方法和技能;(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;2.需求分析问题描述:设计一个实现任意长的整数进行加法运算的演示程序。基本要求:利用双向循环链表实现长整数的存储,每个结点含一个整形变量。任何整形变量的范围是-215-1215-1。输入和输出形式:按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。测试数据:(1)0;0;应输出“0”。(2)-23456789;-76543211;应输出“-100000000”。(3)-99999999;1000000000000;应输出“999(4)100

4、010001;-100010001;应输出“0”。(5)100010001;-100010000;应输出“1”。(6)-999999999999;-999999999999;应输出“1999999999998”。(7)1000099999999;1;应输出“1000100000000”。实现提示:(1)每个结点中可以存放的最大整数为32767,才能保证两数相加不会溢出,但若这样存放,即相当于按32768进制存放,在十进制与32768进制数之间的转换十分不方便,故可以在每个结点中仅存十进制的4位,即不超过9999的非负整数,整个链

5、表表示为万进制。(2)可以利用头结点数据域的符号代表长整数的符号。用其绝对值表示元素结点数目。相加过程中不要破坏两个操作数链表。不能给长整数位数规定上限。3.1概要设计利用双向循环链表现实长整数的存储,每个结点含一个整形变量。输入的形式以回车结束,可以直接输入正数或负数。按中国对于长整数的表示习惯,每四位一组,除数字和位于首位置的负号外,其它一切字符都将作为分隔符,连续多个分隔符当一个处理,但不使用分隔符也不影响结果。3.3调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如

6、何解决?),算法的改进设想。3.4用户手册(略)3.5测试结果(略)4总结长整数用双向循环队列的数据结构,用的比较少,查阅不少资料5、程序清单:(见附录)#include#include#include#includeusingnamespacestd;structLinkNode{intdata;//记录每个节点的整数(小于10000)LinkNode*next;//记录下一个节点的地址LinkNode*pre;//记录前一个节点的地址};classL

7、inkList{private:LinkNode*head0,*head1;//head0,head1分别记录两个整数链表的头指针LinkNode*currptr;LinkNode*result;//result记录结果链表的头指针public:LinkList();//构造函数,初始化链表~LinkList();//析构函数,释放空间voidCreat(stringa);//引入字符串,创立两个链表,分别表示两个整数voidAdd();//实现两个整数相加voidDisplay();//显示结果voidaddtwo();//节

8、点多的作为被加数,少的作为加数,实现整数绝对值大的加小的};intsum(intn);LinkList::LinkList()//构造函数,初始化链表{head0=newLinkNode;//申请一个空间记录整数的符号和节点数head1=newLinkNode;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。