数据结构长整数四则运算

数据结构长整数四则运算

ID:27886864

大小:93.50 KB

页数:16页

时间:2018-12-06

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

《数据结构长整数四则运算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案实习11.4长整数四则运算实习报告题目:设计一个实现任意长的整数进行加法运算的演示程序。一、需求分析1.本演示程序中,利用双向循环链表实现长整数的存储,每个结点含一个整型变量任何整型变量的范围是-(215-1)—(215-1)。在每个结点中仅存十进制数的4位,即不超过9999的非负整数,整个链表表示为万进制数。输入和输出形式按中国对于长整数的习惯,每四位一组,组间用逗号隔开。2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤去输入数据

2、中的非法字符)和运算结果显示在其后。3.程序执行的命令包括:(1)构造链表;(2)输入数据;(3)数据处理;(4)结束4.测试数据(1)0;0;应输出0。(2)-2345,6789;-7654,3211;应输出-1,0000,0000.(3)-9999,9999;1,0000,0000,0000;应输出9999,0000,0001(4)1,0001,0001;-1,0001,0001;应输出0。(5)1,0001,0001;-1,0001,0000;应输出1.(6)-9999,9999,9999;-9999,9999,9999;应输出-

3、1,9999,9999,9998。(7)1,0000,9999,9999;1;应输出1,0001,0000,0000。二、概要设计structLinkNode//定义结构体LinkNode{intdata;//记录每个节点的整数(小于10000)LinkNode*next;//记录下一个节点的地址LinkNode*pre;//记录前一个节点的地址};classLinkList//定义类LinkList精彩文档实用标准文案{private:LinkNode*head0,*head1;//head0,head1分别记录两个整数链表的头指针L

4、inkNode*currptr;LinkNode*result;//result记录结果链表的头指针public:LinkList();//构造函数,初始化链表~LinkList();//析构函数,释放空间voidCreat(stringa);//引入字符串,创立两个链表,分别表示两个整数voidAdd();//实现两个整数相加voidDisplay();//显示结果voidaddtwo();//节点多的作为被加数,少的作为加数,实现整//数绝对值大的加小的};voidmain()//主函数{……do{}while(Yes_No=='y

5、'

6、

7、Yes_No=='Y');//Yes_No不等于'Y'或'y'时,程序退出}三、详细设计#include#include#includeusingnamespacestd;structLinkNode{intdata;//记录每个节点的整数(小于10000)LinkNode*next;//记录下一个节点的地址LinkNode*pre;//记录前一个节点的地址精彩文档实用标准文案};classLinkList{private:LinkNode*head0,*head1;//head

8、0,head1分别记录两个整数链表的头指针LinkNode*currptr;LinkNode*result;//result记录结果链表的头指针public:LinkList();//构造函数,初始化链表~LinkList();//析构函数,释放空间voidCreat(stringa);//引入字符串,创立两个链表,分别表示两个整数voidAdd();//实现两个整数相加voidDisplay();//显示结果voidaddtwo();//节点多的作为被加数,少的作为加数,实现整//数绝对值大的加小的};//链表的实现部分intsum(

9、intn);LinkList::LinkList()//构造函数,初始化链表{head0=newLinkNode;//申请一个空间记录整数的符号和节点数head1=newLinkNode;head0->next=head0;head0->pre=head0;//初始化链表,建立双向循环链表head1->next=head1;head1->pre=head1;result=newLinkNode;精彩文档实用标准文案result->next=result;result->pre=result;currptr=NULL;}LinkList:

10、:~LinkList()//析构函数,释放空间{LinkNode*p1=head0,*p2=head1,*p3=result;//三个指针分别指向三条链表的头指针while(p1!=p1->pre){p1-

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

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

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