网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构课程设计 一元多项式的加法减法乘法的实现 doc.doc

数据结构课程设计 一元多项式的加法减法乘法的实现 doc.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计 一元多项式的加法减法乘法的实现 doc

一、设计题目 一元多项式的加法、减法、乘法的实现。 二、主要内容 设有一元多项式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)??要求输出结果的升幂和降幂两种排列情况 三、具体要求及应提交的材料 1.每个同学以自己的学号和姓名建一个文件夹,如:“312009080611101张三”。里面应包括:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中)、任务书和课程设计说明书的电子文档。 2.打印的课程设计说明书(注意:在封面后夹入打印的“任务书”以后再装订)。 四、主要技术路线提示 为把多个小功能结合成一个完整的小软件,需使用“菜单设计”技术数据结构课程设计出版社2007 [2]严蔚敏(C语言版)严蔚敏(C语言版) 目 录 1需求分析 1 2开发及运行平台 2 3 概要设计 3 4 详细设计 4 5 调试分析 8 6 测试结果 9 7 结论 11 致 谢 12 参考文献 13 附 录 16 1需求分析 动态链表结构下的一元多项式的加法、减法、乘法的实现。 ?设有一元多项式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)。2 请输入第1项的系数和指数: 系数:1 指数:1 请输入第2项的系数和指数: 系数:1 指数:2 (2)输出形式 请选择:5 一元多项式A为: x+x^2 一元多项式B为: 4x^4+5x^5+6x^6 (3)程序所能达到的功能1)?首先判定多项式是否稀疏2)?采用动态存储结构实现3)?结果M(x)中无重复阶项和无零系数项4)?要求输出结果的升幂和降幂两种排列情况(4)测试数据:包括正确地输入及其输出结果和含有错误的输入及其输出结果。x+x^2 一元多项式B为: 4x^4+5x^5+6x^6 错误的输入: 请输入第1项的系数和指数: 系数:1 指数:1 请输入第2项的系数和指数: 系数:2 指数:1 输入的该项指数与多项式中已存在的某项相同,请重新创建一个正确的多项式 请输入第1项的系数和指数: 2开发及运行平台 Windows 7 alienware 平台上,Microsoft Visual studio 6.0 环境下开发。所以建议用户在使用时,在windows 7 平台上使用。 3 概要设计 数据类型的定义struct Node { float coef;//结点类型,系数 int exp;//指数 }; typedef Node polynomial; struct LNode { polynomial data;//链表类型 LNode *next; }; typedef LNode* Link; 模块调用关系如图1所示: 图 1 一元多项式计算器模块调用图 4 详细设计 加法模块: void PolyAdd(Link pc,Link pa,Link pb) { Link p1,p2,p,pd; CopyLink(p1,pa); CopyLink(p2,pb); pc=new LNode; pc-next-NULL; p-pc; p1-p1-next; p2-p2-next; while(p1不为空且p2不为空) {if(p1-data.expp2-data.exp) then: p-next=p1;p=p-next; p1=p1-next; else if(p1-data.expp2-data.exp) then: p-next-p2; p-p-next;p2-p2-next; else {p1-data.coef-p1-data.coef+p2-data.coef;//指数相同,系数想加 if(p1-data.coef不等于0) {p-next-p1; p-p-next; p1-p1-next; p2-p2-next; } else {pd-p1; p1-p1-next; p2-p2-next;

文档评论(0)

weizhent2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档