1 / 28
文档名称:

数据结构程序设计作业《一元多项式的四则运算》.doc

格式:doc   大小:262KB   页数:28页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构程序设计作业《一元多项式的四则运算》.doc

上传人:63229029 2017/9/8 文件大小:262 KB

下载得到文件列表

数据结构程序设计作业《一元多项式的四则运算》.doc

文档介绍

文档介绍:教学单位
学生学号
数据结构
课程设计报告书
题目一元多项式四则运算
学生姓名
专业名称
指导教师
目录
1 问题描述 - 2 -
2 功能描述 - 2 -
课题要求 - 2 -
软件格式规定 - 2 -
3 设计 - 2 -
相关函数介绍说明 - 2 -
主程序的流程基函数调用说明 - 3 -
4 程序设计 - 5 -
多项式存储的实现 - 5 -
加减乘除算法 - 5 -
-5 -
- 6 -
- 7 -
- 7 -
函数调用关系图 - 8-
5 运行测试 - 9-
6 设计小结 - 12-
参考文献 - 12-
谢辞 - 13-
附录:程序清单 - 14-
1 问题描述
,利用已学过的数据结构来构造二个存储多项式的结构,接着把输入,加,减,乘,除运算分成四个主要的模块:实现多项式输入模块、实现加法的模块、实现减法的模块、实现乘法的模块、实现除法的模块,然后各个模块里面还要分成若干种情况来考虑并通过函数的嵌套调用来实现其功能。最后,编写main主函数以实现对多项式输入输出以及加、减、乘、除,调试程序并将不足的地方加以修改。总而言之,就是先用自顶向下、逐步细化的设计方法来分析并画出程序设计流程图;然后用自下而上、逐步积累的设计方法来写出程序。
2 功能描述
课题要求
A. 支持一元多项式的运算器
B. 能够正确输入并显示输入多项式的每一项
C. 要求将输入的多项式F(X),G(X)可进行加,减,乘,除运算,并显示结果
软件格式规定
:按程序菜单的数字选择输入,并按提示输入多项式。按照(系数指数)的格式进行输入并以输入(0 0)作为结束输入的控制。
B. 程序所能达到的功能:能够进行多项式的输入,显示,加,减,乘,除运算。
:按照多项式的数学表达式的形式输出,形如:F(x)=X^2+2X^3-2X^4-3X^3-X^1+10
3 设计
相关函数介绍说明
(1)程序定义的数据结构类型为线性表的链式存储结构类型变量:
typedef struct linknode
(2)程序定义的其它函数:
linnode *Sort(linnode *S);
//多项式按指数从大到小排序
linnode *CreateList();
//创建多项式
Void ShowList(linnode *head) ;
//显示多项式
linnode *Copy(linnode *copy);
//拷贝多项式(因为做减法运算时会破坏原来输入的多项式)
linnode *SearchList(linnode *head,int x);
//查找函数
Linnode *Mulr(linnode *s,linnode *p)
//用一个节点去乘与一个多项式(辅助除法运算)
Linnode *AddSame(linnode *head);
//和并多项式的同类项
linnode *Add(linnode *head1,linnode *head2);
// 加法
linnode *Mul(linnode *head1,linnode *head2);
// 乘法
linnode *Sub(linnode *head1,linnode *head2);
// 减法
Void Div(linnode *head1,linnode *head2)
//除法
int main( )
//主函数
主程序的流程基函数调用说明
(1)主程序的简要流程图
选择界面菜单对应操作的数字
结束
执行完选择的功能后返回结果并回到程序主界面
调用功能对应的函数
main()
图1 主程序流程图
(2)各程序模块之间的层次(调用)关系
①输入模块“CreateList()”,首先按提示逐项输入多项式的每一项,当接收到“0 0”时终止输入,此时调用“Sort()”进行按指数降序排列后直接返回多项式的链表头指针。
②加法运算模块“Add()”,首先将两个多项式连接成一个多项式,再调用“AddSame()”函数进行合并连接后的多项式的同类项并返回头指针。
③减法运算程序模块“Sub( )”,首先判断多项式1是否为空,不为空时调用“SearchList()”进行查找操作,查找到的结果与多项式1作减法后删除多项式2中查找到的对应项。多项式2中剩余的项取反后连接到多