- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
元多项式运算(包括加乘导)
信息科学与技术学院
《数据结构》课程设计报告
题目名称: 一元多项式运算 专业班级: 计算机科学与技术 学生姓名: 11 学生学号: 指导教师:
完成日期:2012-12
目 录
1 课程设计的目的 4
1.1 课程设计的目的 4
1.2 课程设计的题目 4
1.3 题目要求 4
2 概要设计 5
2.1 存储结构 5
2.2 基本操作 5
3 详细设计 5
3.1总体流程图 6
3.2主模块 7
3.3、查找位置插入链接模块 7
3.3.1函数功能: 7
3.3.2函数入口: 8
3.3.3函数流程图: 8
3.4、创建多项式模块 9
3.4.1函数功能: 9
3.4.2函数入口: 9
3.4.3函数流程图: 9
3.5、多项式相加模块 10
3.5.1函数功能: 10
3.5.2函数入口: 10
3.5.3函数流程图 10
3.6多项式相乘模块 10
3.6.1函数功能: 10
3.6.2函数入口: 11
3.6.3函数流程图: 11
3.7多项式求导模块 11
3.7.1函数功能: 11
3.7.2函数入口: 12
3.7.3函数流程图: 12
3.8输出多项式模块 12
3.8.1函数功能: 12
3.8.2函数入口: 12
3.8.3函数流程图: 12
4 测试 14
4. 1用户选择界面 14
4. 2,两个一元多项式相加功能 14
4.3两个一元多项式相乘功能 15
4.4对一个一元多项式求导功能: 15
4.5帮助功能: 16
5 课程设计总结 16
6参考书目: 18
1 课程设计的目的
1.1 课程设计的目的
本课程设计主要解决一元多项式的运算问题,通过链表的使用,实现对一元多项式的构建、录入、存储、打印、以及之间的运算。在本课程设计中,程序设计语言为C++语言,程序采用了链表的存储方法以及结构化和模块化的设计方法,通过调试运行,可以进行多项式的相加、相乘和求导,勉强实现了设计目标,并且经过适当的完善后,将可运用到实际中解决某些问题。
1.2 课程设计的题目
一元多项式运算
1.3 题目要求
一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请按下述要求编写程序
对输入的一元多项式进行求导,并输出求导的结果。
对输入的两个一元多项式进行求和,并输出求导的结果。
对输入的两个一元多项式进行求积,并输出求导的结果。
2 概要设计
2.1 存储结构
用的链式存储,一个结点有三个域分别是:系数数据域coef、指数数据域expn、指针域next。
定义主要的数据:
typedef struct node //定义节点类型
{
float coef; //多项式的系数
int expn; //多项式的指数
struct node * next; //结点指针域
}PLOYList; 定义节点、多项式的系数、指数...
2.2 基本操作
在进行多项式运算之前先要建立一个指数从高到低排列的一个一元多项式,此功能由creat()函数来实现;其中从高到低的排序插入则由insert()函数来实现;最后进行一元多项式的加法、乘法、求导则分别由函数add()、mul()、der()来实现;最后在主函数中用了switch()来进行选择。
void insert(PLOYList *head,PLOYList *input)
PLOYList*creat() //输入多项式
PLOYList *add(PLOYList *head,PLOYList *pre) //多项式求和
PLOYList*mull(PLOYList*headPLOYList*pre) //多项式相乘
(5)PLOYList *der(PLOYList *head) //多项式求导
3 详细设计
3.1总体流程图
3-1总体流程图
3.2主模块
3-2主流程图
3.3、查找位置插入链接模块
3.3.1函数功能:
查找位置插入新链接的函数,且让输入的多项式呈降序排列。
3.3.2函数入口:
此函数并无参数,属无返回值函数。
入口函数:void insert()
3.3.3函数流程图:
3-3查找位置插入链接流程图
3.4、创建多项式模块
3.4.1函数功能:
输入多项式
3.4.2函数入口:
此函数有,返回值为指针型。
入口函数:PLOYList *creat()
3.4
文档评论(0)