- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计说明书一元多项式的代数运算
《数 据 结 构》
课程设计说明书
题 目 一元多项式的代数运算 1376807331 姓 名 武飞 康懿 2015/6/27
内蒙古科技大学课程设计任务书
课程名称 数据结构课程设计 设计题目 一元多项式的代数运算1. 掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。一元多项式的代数运算中无重复阶项和无零系数项要求输出结果的升幂和降幂两种排列情况1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用. 设计完成后提交课程设计报告资料查阅与讨论1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。数据结构:用面向对象方法与C++语言描述?清华大学出版社 2007
目录
第1章 需求分析 3
第2章 总体设计 4
2.1 多项式双链循环链表的生成函数 4
2.2 实现两个一元多项式的加法函数 5
2.3 实现两个一元多项式的乘法函数 7
2.4 将结果按幂的升序处理函数 8
2.5 输出函数 9
第3章 详细设计 12
3.1 主程序流程图 12
3.2 主要算法的流程图 13
第4章 测试 17
第5章 总结 20
参考文献 20
附录:程序代码 21
需求分析
两个一元多项式加法与乘法的实现,顾名思义,本程序的主要功能就是对两个一元多项式进行代数上的加法与乘法运算。功能一:两个一元多项式的加法。在数学上两个一元多项式的加法实现很简单,即将两个多项式相加后再进行整理合并即可,然而如果要想用程序实现此操作,就没那么简单了。但是,由于此操作在数学上可实现,因此可将同样的思想运用在编程上,理论上也应该可以实现,事实也正是如此。在两个多项式相加过程中,程序是这样处理的:先将两个多项式中的所有项都开辟空间将其存储起来,然后在新生成的多项式上进行整理合并操作,最后即得出相加后的最简结果,关于其具体过程读者可以参考后面第二章中的模块说明部分,那里给出了详尽说明。功能二:两个一元多项式的乘法。同前面一元多项式的加法相比较,显然一元多项式的乘法实现相对来说比较复杂,这体现在两个方面:一是要将每个多项式中的所有项都与另一个多项式中的所有项两两之间都要进行相乘,此过程工作量相当大;二是要将相乘以后的所有项都开辟空间将其存储起来,得到一个新的多项式,然后在此多项式上再进行整理合并操作,得到相乘以后的最简结果。下面给出课程设计的题目:
*动态双链循环链表结构下的一元多项式的加法、乘法的实现:
? 设有一元多项式Am(x)和Bn(x).
? Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm
? Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn
?请实现求 Am(x)+Bn(x)和Am(x)×Bn(x)
?
要求:
1)采用动态链表存储结构实现;
2)要求输出结果中无重复阶项和无零系数项;
3)要求输出结果的升幂和降幂两种排列情况
总体设计
多项式双链循环链表的生成函数
程序在对多项式进行处理之前,首先要将多项式以合适的形式存储起来,以便于程序基于其存储形式对其进行数学运算的操作。本程序中对多项式的存储采用的均是双链循环链表,而表中的结点均是结构体型的数据,多项式中的每一项都要用一个结点来存储,其中包括四个数据:项的系数coef,项中x的指数exp,指向下一项的指针next,指向前一项的指针prior。因此,首先要生成能存储多项式的双链循环链表,现将其生成函数算法给出如下:
typedef struct pnode
{
float coef;
int exp;
struct pnode *next;
struct pnode *prior;
} polynode;
polynode *creatlist( ) //多项式的双链循环链表的生成函数
{
polynode *p,*q,*head;
head=p=malloc(sizeof(polynode));
printf( \n);
printf( 请输入头结点数据:);
scanf(%f%
您可能关注的文档
最近下载
- 急性胰腺炎护理查房课件(完整版).pptx VIP
- 如何做合格的研究生导师.ppt VIP
- GB50084-2001(2005版)自动喷水灭火系统设计规范.docx VIP
- 绿色“垃圾不落地城市更美丽”节能环保树立垃圾分类新观念PPT模板课件.pptx VIP
- 铁路栅栏改移重点项目施工专项方案.doc
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.8.pdf VIP
- 精品解析:北京市八中2023-2024学年九年级上学期期中考试物理试题(解析版).docx VIP
- 大数据互联网科技PPT模板 .pptx VIP
- (人教版)九年级英语第一次月考试卷(含答案).pdf VIP
- 隐球菌性脑膜炎护理.pptx VIP
文档评论(0)