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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性表实现大整数运算实验报告.

石家庄经济学院实 验 报 告网址:实验名称:线性表实现大整数运算学号:413109030111实验日期:2015.03姓名:孙晓颖设备编号:实验室:152实验内容实现线性表链式结构的插入、删除、查找以及合并等操作的算法、编程实现;使用双向链表结构,设计并实现长整数数据类型的表示及相关运算概要设计ADT Longint { 数据对象:D={ai,bj|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={ai,ai+1ai+1,ai,i=1,2,…n}基本操作:shuru(DuLinkList L) 操作结果:构造一个双向循环链表。shuchu(DuLinkList L) 初始条件:双向链表s已存在。 操作结果:将输入双向循环链表输出。 shu(DuLinkList L)操作结果:将操作结果双向循环链表输出。add(DuLinkList LA, DuLinkList LB,DuLinkList LC)初始条件:两双向循环链表p,q已存在。 操作结果:将存放长整型数据的两双向链表进行加法运算,得到新的链表。 minus(DuLinkList LA, DuLinkList LB,DuLinkList LC)初始条件:两双向循环链表p,q已存在 操作结果:两双向循环链表进行减法运算,得到新的链表。mul(DuLinkList LA, DuLinkList LB,DuLinkList LC)初始条件:两双向循环链表已存在。 操作结果:将存放长整型数据的两双向链表进行乘法运算,得到新链表。} ADT Longint详细设计//----------------存储结构表示-------------typedef struct DuLNode{ ElemType data; struct DuLNode *prior; struct DuLNode *next;}DuLNode,*DuLinkList; /*定义链表结构*/ //----------------基本操作的实现-----------void shuru(DuLinkList L){//输入 建立LA LB 链表无空头节点char ch;int opra,i;DuLinkList p,q; printf(请输入长整数 每3位加, 输入以#结束 \n); 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;i3;i++){ch=getchar();q-data =q-data * 10 +(ch-0);}p-next =q;//连入链表q-prior =p;p=q;//后移ch=getchar();}p-next =NULL; printf(提示:输入成功 ! \n);}void shuchu(DuLinkList L){//输出 (无空头节点) DuLinkList p; int number,i; ElemType e; printf( 输出结果\n); number=0;//计算元素个数 p=L; while(p!=NULL) { number++; p=p-next; } p=L; for(i=1;i=number;i++) { e=p-data;//对当前结点输出结果进行分情况讨论 p=p-next; if (i==1) //对最高位为0 { if(e!=0) printf(%d,e); } else//其他位分情况 { if(e==0) //数值为0 printf(000);else{ if(e10) //如果数值为1位 printf(00%d,e); else { if(e100)//如果数值为2位 printf(0%d,e); else printf(%d,e); }} }//逗号 if(i!=number) { if (i!=1) printf(,);

文档评论(0)

vc5gv1x + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档