数据结构实习报告---一元稀疏多项式计算器.docx

数据结构实习报告---一元稀疏多项式计算器.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实习报告题目:一元稀疏多项式计算器需求分析输入的形式和输入值范围:本程序只需进行一元稀疏多项式的加减(选做乘法),所以只需根据指示输入一元稀疏多项式的各项系数与指数,多项式的项数,通过scanf语句实现。系数范围为浮点型数据范围,指数范围为无符号型整型,项数范围为有符号整型。输出的形式:用户根据计算机指示输入系数与指数,通过printf语句实现,计算机在程序运行后输出结果。程序所能达到的功能:(1).输入并建立多项式。(2).输出多项式,输出形式为整数序列n,c1,e1,c2,e2…cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序数按指数降序排列;(3).多项式a和b相加,建立多项式a+b; (4).多项式a和b相减,建立多项式a-b;即输入输出多项式,求和并输出结果,求差并输出结果 (5)补充部分:多项式相乘;多项式求导;多项式求值测试数据:(1)(2x+5x^8-3.1x^11)+(7-5x^8+11x^9)=(-3.1x^11+11x^9+2x+7)(2)(6x^-3-x+4.4x^2-1.2x^9)-(-6x^-3+5.4x^2-x^2+7.8x^15)=(-7.8x^15-1.2x^9+12x^-3-x)(3)(1+x+x^2+x^3+x^4+x^5)+(-x^3-x^4)=(1+x+x^2+x^5)(4)(x+x^3)+(-x-x^3)=0(5)(x+x^100)+(x^100+x^200)=(x+2x^100+x^200)(6)(x+x^2+x^3)+0=x+x^2+x^3(7)互换上述测试数据中的前后两个多项式 概要设计:抽象数据类型的定义:ADT polynomial{ 数据对象:D={ai|ai∈Termset,i=1,2,…,m, m≥0Termset中的每个元素包含一个表示系数的实数和表示指数的整数}数据关系:R1={ai-1,ai ai-1,ai∈D,且ai-1中的指数值<ai中的指数值,i=1,2, …, } 基本操作: Create(name *pname)操作结果:建立一元多项式PrintPoly(name *pname)初始条件:一元多项式已经存在操作结果:输出一元多项式Plus(name *pname)初始条件:一元多项式已经存在操作结果:完成多项式的相加运算Minus(name *pname)初始条件:一元多项式已经存在操作结果:完成多项式的相减运算Delete(name *pname)初始条件:一元多项式已经存在操作结果:在多项式名链表中删除该多项式Qiuzhi(name *pname)初始条件:一元多项式已经存在操作结果:求多项式某点的值Daoshu(name *pname)初始条件:一元多项式已经存在操作结果:求多项式的导数Multiply(name *pname)初始条件:一元多项式已经存在操作结果:多项式相乘 } ADT polynomial主程序流程:本程序包括2个模块:(1)主程序模块:status main() {初始化;switch (){Case ‘1’:接受命令; 处理命令;break;Case ‘2’:接受命令; 处理命令;break;Case ‘3’:接受命令; 处理命令;break;…….. }(2)一元多项式类型模块――实现一元多项式的抽象数据类型;各个模块之间调用关系如下: 主程序模块 一元多项式类型模块a.因为这是一个计算器,所以需要能够连续进行各项功能,不能进行了一个功能之后,程序就自动关闭了。所以需要设计一个循环,在每进行完一个功能之后,都能显示一串功能供用户选择。这是该计算器的框架,最外层的结构,按照自上而下,逐步求精的方法设计该计算器。另外,为了减小主函数的长度,将供用户选择的这部分用一个函数choose来实现,返回所要操作的代号。而在主函数中,用switch……case语句来转换到各个功能函数。加法函数Plus,减法函数Minus,乘法函数Multiply,创建函数Create,删除函数Delete,求值函数Qiuzhi,求导函数Daoshu. b接下来就是编写各个功能函数了。首先要考虑的问题是,这些多项式是否要保存,怎样保存的问题。为了能够保存这些多项式,我们把这些多项式保存在一个链表中,构成一个多项式名链表ps,链表具有头结点。链表的每一个结点为typedefstruct name{char s[N];//s用于保存多项式名struct node *point;//指向多项式struct name

文档评论(0)

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

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

1亿VIP精品文档

相关文档