下载此文档

计算机基础算法实验.doc


文档分类:IT计算机 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
计算机基础算法实验计算机基础算法实验班级:学号:姓名:完成日期:算法1实现两个整数相加需求分析课程设计任务是用链表(单链表或双向链表)实现任意位数的整数相加。输入的形式和输入值的范围:长度不超过一百位的整数。输出的形式:有中文提示,分三行输出。概要设计LNode*CreatList()操作结果:(LNode*t1,LNode*t2)初始条件:存在两个结点t1,t2;操作结果:实现两个结点的相加。voidprint(LNode*L)初始条件:L存在;操作结果:打印链表L。详细设计(1)pare函数调用print()函数,打印p3结束(2)打印求和链表过程开始建立结点s1,s2其中一个结点非空时,循环,下一位,>=j?Add(s1,s2)Add(s2,s1)赋给P3,打印结束调试分析输入的数必须为长度不超过一百位的整数,否则出现错误;如:,输出结果为9-46。根据实际情况的需要,可以将整数的长度定义为1000位,甚至更长。总结熟悉掌握链表的建立及调用,同时对数组的理解进一步加深;认识到自己的不足,以后多加练习,争取写出更好的算法。实验内容:源程序:#include<>#include<>#include<>#defineMAX100typedefstructLNode{intdata;structLNode*pre,*next;}LNode,List;LNode*CreatList(){LNode*p,*q,*r;chars[MAX];inti=0;printf("输入一个整数:");gets(s);p=(LNode*)malloc(sizeof(List)*MAX);q=r=p;p->data=-1;while(s[i]!=NULL){q=(LNode*)malloc(sizeof(List));q->data=s[i++]-'0';q->pre=r;r->next=q;r=q;}r->next=NULL;returnp;}LNodeAdd(LNode*t1,LNode*t2){while(t1->data!=-1&&t2->data!=-1){t1->data=t1->data+t2->data;if(t1->data>9){t1->data-=10;t1->pre->data+=1;}t1=t1->pre;t2=t2->pre;}if(t1->next->data>9)t1->next->data-=10;return*t1;}pare(LNode*p1,LNode*p2){LNode*s1=p1->next,*s2=p2->next,*t1,*t2;

计算机基础算法实验 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数27
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhlya
  • 文件大小192 KB
  • 时间2019-08-18