线性表实现大整数运算实验报告

线性表实现大整数运算实验报告

ID:18694109

大小:76.40 KB

页数:19页

时间:2018-09-20

线性表实现大整数运算实验报告_第1页
线性表实现大整数运算实验报告_第2页
线性表实现大整数运算实验报告_第3页
线性表实现大整数运算实验报告_第4页
线性表实现大整数运算实验报告_第5页
资源描述:

《线性表实现大整数运算实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、石家庄经济学院实验报告网址:www.jsjer.com实验名称:线性表实现大整数运算学号:413109030111实验日期:2015.03姓名:孙晓颖设备编号:实验室:152一、实验内容1.实现线性表链式结构的插入、删除、查找以及合并等操作的算法、编程实现;2.使用双向链表结构,设计并实现长整数数据类型的表示及相关运算二、概要设计ADTLongint{数据对象:D={ai,bj

2、ai,bj∈[0,1,2,3,4,5,6,7,8,9],i=1,2,…n,n>=0,j=0,1,2,…m,m>=0}数据关系:R={&&,i=1,2,…n}基本操作:shuru(D

3、uLinkList&L)操作结果:构造一个双向循环链表。shuchu(DuLinkListL)初始条件:双向链表s已存在。操作结果:将输入双向循环链表输出。shu(DuLinkListL)操作结果:将操作结果双向循环链表输出。add(DuLinkListLA,DuLinkListLB,DuLinkList&LC)初始条件:两双向循环链表p,q已存在。操作结果:将存放长整型数据的两双向链表进行加法运算,得到新的链表。minus(DuLinkListLA,DuLinkListLB,DuLinkList&LC)初始条件:两双向循环链表p,q已存在操作结果:两双向循环链表进行减法运算,得到新的链表。

4、mul(DuLinkListLA,DuLinkListLB,DuLinkList&LC)初始条件:两双向循环链表已存在。操作结果:将存放长整型数据的两双向链表进行乘法运算,得到新链表。}ADTLongint一、详细设计//----------------存储结构表示-------------typedefstructDuLNode{ElemTypedata;structDuLNode*prior;structDuLNode*next;}DuLNode,*DuLinkList;/*定义链表结构*///----------------基本操作的实现-----------voidshuru(DuL

5、inkList&L){//输入建立LALB链表无空头节点charch;intopra,i;DuLinkListp,q;printf("请输入长整数每3位加','输入以#结束");L=(DuLinkList)malloc(sizeof(DuLNode));//新建空链表L->prior=NULL;p=L;scanf("%d",&opra);//输入数据p->data=opra;ch=getchar();while(ch!='#')//读取未结束{q=(DuLinkList)malloc(sizeof(DuLNode));q->data=0;for(i=0;i<3;i++){ch=getch

6、ar();q->data=q->data*10+(ch-'0');}p->next=q;//连入链表q->prior=p;p=q;//后移ch=getchar();}p->next=NULL;printf("提示:输入成功!");}voidshuchu(DuLinkListL){//输出(无空头节点)DuLinkListp;intnumber,i;ElemTypee;printf("输出结果");number=0;//计算元素个数p=L;while(p!=NULL){number++;p=p->next;}p=L;for(i=1;i<=number;i++){e=p->data;//

7、对当前结点输出结果进行分情况讨论p=p->next;if(i==1)//对最高位为0{if(e!=0)printf("%d",e);}else//其他位分情况{if(e==0)//数值为0printf("000");else{if(e<10)//如果数值为1位printf("00%d",e);else{if(e<100)//如果数值为2位printf("0%d",e);elseprintf("%d",e);}}}//逗号if(i!=number){if(i!=1)printf(",");elseif(e!=0)printf(",");}}printf("输出成功!");}voidsh

8、u(DuLinkListL){//输出运算结果DuLinkListp;intnumber,i;ElemTypee;printf("输出结果");number=0;//计算元素个数p=L;while(p->next!=NULL){number++;p=p->next;}p=L->next;for(i=1;i<=number;i++){e=p->data;//对当前结点输出结果进行分情况讨论p=p->next

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

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

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