文档详情

一元多项式加法减法乘法实现.doc

发布:2018-12-23约7.6千字共20页下载文档
文本预览下载声明
福建农林大学计算机与信息学院 课程设计报告 课程名称: 数据结构 课程设计题目: 一元多项式的加法减法乘法的实现 姓 名: 系: 软件工程系 专 业: 软件工程专业 年 级: 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
显示全部
相似文档