1305120617魏伟计工02班实验2及答案.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学与工程学院 《算法与数据结构》实验报告(二) 专业班级 2013级计算机工程专业02班 实验地点 403机房 学生学号 1305120617 指导教师 蔡琼 学生姓名 魏伟 实验时间 2015-04-11 实验项目 链表的应用 实验类别 基础性(√) 设计性() 综合性() 其它( ) 实验目的及要求 (1)熟练掌握链表结构及有关算法的设计; ()掌握用链表表示特定形式的数据的方法,并能编写出有关运算的算法 日 期: 2015 年 4 月 18 日 实 验 内 容 一、实验内容:一元多项式求和。 把任意给定的两个一元多项式P(x)?,Q(x)?输入计算机,计算它们的和并输出计算结果。实验说明: 一元多项式可以用单链表表示,结点结构图示如下: 一元多项式算法伪代码如下: 实 验 内 容 三、预期结果 a=3x^4+2x^3-5x^2+x b=7x^4-5x^3+3x^2+x 输出为c=10x^4-3x^3-2x^2+2x 四程序代码 #includestdio.h #includestdlib.h typedef struct LNode { int x,z; struct LNode *next; }LinkList; void OutXLinkList(LinkList *L); void OutZLinkList(LinkList *L); void main() { int n,m; LinkList *a,*b,*c; printf(请输入一元多项式a的项数m:); scanf(%d,m); printf(请按照从低次到高次的顺序依此输入一元多项式a的系数和指数:\n); PutLinkList(a,m); printf(a=); OutLinkList(a); printf(请输入一元多项式b的项数n:); scanf(%d,n); printf(请按照从低次到高次的顺序依此输入一元多项式b的系数和指数:\n); PutLinkList(b,n); printf(b=); OutLinkList(b); c=AddLinkList(a,b); printf(两个多项式的和为:\na+b=); OutLinkList(c); } void PutLinkList(LinkList *L,int n) { LinkList *s,*r; L=(LinkList *)malloc(sizeof(LinkList)); r=L; for(int i=0;in;i++) { s=(LinkList *)malloc(sizeof(LinkList)); printf(请输入第%d项的系数:,i+1); scanf(%d,s-x); printf(请输入第%d项的指数:,i+1); scanf(%d,s-z); r-next=s; r=s; } r-next=NULL; } /*多项式输出函数*/ void OutLinkList(LinkList *L) { char FuHao; LinkList *p=L-next; FuHao=p-x0? +:-; if(FuHao==-) { printf(%c,FuHao); if(p-x==-1) printf(1); } OutXLinkList(p); OutZLinkList(p); p=p-next; while(p!=NULL) { FuHao=p-x0? +:-; printf(%c,FuHao); OutXLinkList(p); OutZLinkList(p); p=p-next; } printf(\n); } /*输出系数函数*/ void OutXLinkList(LinkList *L) { int xi=L-x0? L-x:-L-x; if(L-x==1||L-x==-1); else printf(%d,xi); } /*输出指数函数*/ void OutZLinkList(LinkList *L) { if(L-z==0) ; else if(L-z==1||L-z==-1) { if(L-z0) { if(L-x==1||L-x==-1) printf(1); prin

您可能关注的文档

文档评论(0)

6669930 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档