一元多项式加法减法乘法实现.doc
文本预览下载声明
福建农林大学计算机与信息学院
课程设计报告
课程名称:
数据结构
课程设计题目:
一元多项式的加法减法乘法的实现
姓 名:
系:
软件工程系
专 业:
软件工程专业
年 级:
2014
学 号:
指导教师:
黄思先
职 称:
副教授
完成起止日期:
2016.6.5 - 2016.7.1
2016年07月1日
福建农林大学计算机与信息学院
课程设计结果评定
评价内容
评价指标
评分权值
评定成绩
业务水平
有扎实的基础理论知识和课程知识;能正确设计实验方案;独立进行实验工作;能运用所学课程知识和技能去发现与解决实际问题
0.2
设计质量
实验正确,分析处理科学;设计结果有应用价值;图纸绘制符合国家标准,质量符合要求;计算及测试结果准确;工作中有创新意识;对前人工作有改进或突破,或有独特见解;
0.4
工作量、
工作态度
按期完成规定的任务,工作量饱满,难度较大;工作努力,遵守纪律;工作作风严谨务实
0.2
报告质量
文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;
0.2
合 计
1.0
指导教师签字:
评定日期:
目录
问题分析和任务定义……………………………………………1
程序设计内容……………………………………………………1
三、 程序调试与测试…………………………………………………7
四、 实验心得…………………………………………………………9
五、 程序编码…………………………………………………………9
一、问题分析及任务定义
顺序结构、动态链表结构下的一元多项式的加法、减法、乘法的实现。
【问题描述和基本要求】 设有一元多项式Am(x)和Bn(x).
Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm
Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn
请实现求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。
要求:
1) 首先判定多项式是否稀疏
2) 分别采用顺序和动态存储结构实现;
3) 结果M(x)中无重复阶项和无零系数项;
4) 要求输出结果的升幂和降幂两种排列情况
二、课程设计的内容
2.1函数
多项式创建函数PolyNode *Creatpoly()
多项式输出函数void Prin_poly(PolyNode *h)
多项式升序排列函数void Insortup(PolyNode *h)
多项式降序排列函数void Insortdown(PolyNode *h)
多项式合并函数void UnitePoly(PolyNode *h)
多项式相乘函数PolyNode *polymuti(PolyNode *h1,PolyNode *h2)
多项式相加函数PolyNode *addition(PolyNode *ha, PolyNode *hb)
多项式相减函数PolyNode *subduction (PolyNode *ha, PolyNode *hb)
2.2设计各个模块的流程图
(1) main()
开始
开始
定义*h1,*h2,*h
定义*h1,*h2,*h
创建多项式A
创建多项式A
输出文字
输出文字
合并同类项
合并同类项
排序
排序
输出多项式A
输出多项式A
创建多项式B
创建多项式B
输出文字
输出文字
合并同类项
合并同类项
排序
排序
输出多项式B
输出多项式B
additionYa=1
addition
Y
a=1
N
N
Y
Y
subductiona=2
subduction
a=2
N
N
Ya=3
Y
a=3
polymuti
polymuti
结束
结束
(2) void Insortup(PolyNode *h)
开始
开始
p=h
p=h—next
结束
结束
N
N
P!=NULL
P!=NULL
Yp=h
Y
p=h—next
s=h
s=h—next
Ns=s—nexts—exp与s—next—exp互换s—coef与s—next—coef互换
N
s=s—next
s—exp与s—next—exp互换
s—coef与s—next—coef互换
Y
s—next!=NULL
s—exps—next—exp—
Y
N
(3)void Insortdown(PolyNode *h)
开始
开始
p=h
p=h—next
结束
结束
N
N
P!=NULL
P!=NULL
Yp=h
Y
p=h—next
s=h
s=h—next
显示全部