线性表的应用.docVIP

  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文档。上传文档
查看更多
实 验 报 告 课程名称 计算机软件基础 实验项目 线性表的应用 实验仪器 计算机 系 别 光电信息与通信工程 专 业 电子信息工程 班级/学号 学生姓名 实验日期 2011-4-1 成 绩 _______________________ 指导教师 _______________________ 实验一 线性表的应用 实验目的:掌握线性链表的存储、运算及应用。利用链表实现一元多项式计算。 实验内容: 编写函数,实现用链表结构建立多项式; 编写函数,实现多项式的加法运算; 编写函数,实现多项式的显示; 测试:编写主函数,它定义并建立两个多项式,显示两个多项式,然后将它们相加并显示结果。变换测试用的多项式,检查程序的执行结果。 选做内容:修改程序,选择实现以下功能: 多项式求值:编写一个函数,根据给定的x值计算并返回多项式f(x)的值。测试该函数(从终端输入一个x的值,调用该函数并显示返回结果)。 多项式相减:编写一个函数,求两个多项式相减的多项式。 多项式相乘:编写一个函数,求两个多项式的乘积多项式。 3、实验步骤: 1)多项式的输出: 在函数PrintPoly(PNode *h)里,根据我们平时写多项式的习惯,对函数进行了修改,比如当系数为0时不输出、系数为1时省略1、指数为0时只输出系数、指数为1时指数1省略、实现降幂排列、同类项合并等等,使得多项式输出后跟我们平时书写的一样自然。 在修改函数的过程中遇到过很多的问题,考虑问题不周全,在一遍又一遍的运行后,才使得输出基本规范,但是降幂排列还是没能实现,后来上网查了些资料,再慢慢地修改了一点,最后才把问题解决,我试着运行了几遍,感觉结果还不错,以下是运行时的截图: 2)多项式的减法、求值和相乘: 多项式的减法跟加法差不多,只需把被减的多项式的系数变成其相反数,然后再相加就可以了; 多项式的求值也比较简单,取得X的值后,分别计算多项式的各项,存储在y中,然后把前几项的值相加,f=f+y; 多项式的相乘是把系数相乘,指数相加,再创建新的节点存储各相乘后的项,最后返回头指针就行了。 运行的最后结果如下图: 4、程序清单: #include stdio.h #include stdlib.h #include math.h typedef struct polynode { float coef; //系数 int exp; //指数 struct polynode *next; //下一结点指针 } PNode; void PrintPoly(PNode *h) //输出多项式。修改此算法,使输出形式更符合自然表达规范 { PNode *p=h-next,*q,*max,*t; int a=0; //存储指数,用于降幂排列 float b=0; //存储系数 if(p==h) { printf(Null Poly.\n); //判断是否为空 return; } for(p=h-next;p-next!=h;p=p-next) //实现降序排列 { max=p; //令max=p为最高次幂 for(q=p-next;q!=h;q=q-next) //冒泡法排序 if(max-expq-exp)max=q; //如果max的指数比下一节点q指数小,则令max=q if(max-exp!=p-exp||max-coef!=p-coef){ // 如果max变了,即max!=p,则交换p与max的成员值 a=max-exp;b=max-coef; max

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档