稀疏一元多项式运算器 实验报告 附源程序.docxVIP

稀疏一元多项式运算器 实验报告 附源程序.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息学院12级杨征元 P13.10.25稀疏一元多项式运算器问题描述:完成一元稀疏多项式运算器,完成多项式创建,显示,复制,求和,求差,求值,销毁,清空,修改,n阶微分,不定积分,定积分操作。函数功能描述如下:稀疏一元多项式运算器0.退出退出1.创建多项式创建并打印2.显示多项式打印3.复制多项式复制多项式a至空域b,非空报错4.求和输入abc位置,c=a+b5.求差输入abc位置,c=a-b6.求值输入位置,double x,输出double result7.销毁多项式销毁,使p[i]为NULL8.清空多项式清空保留头指针,输出为09.修改多项式选择插入,删除,修改(删了再插)10.n阶微分输入微分位置,阶数,结果存放于原位置11.不定微分输入积分位置,不定积分,常数C取012.定微分输入积分位置,上下限值,输出定积分结果算法描述:通过主菜单调用函数完成各项功能,函数描述见程序结构描述部分。数据结构描述:多项式每一项结点定义如下:typedef struct lnode{double coef;int exp;struct lnode* next;}lnode,*linklist;包含指向下一结点指针linklist next,存储系数的数据单元double coef,存储指数的数据单元int exp;结点名lnode,指向结点指针linklist。每一个多项式由头指针引出,头指针数组lnode* p[N]。每一个单元存储一多项式头指针。当多项式不存在,p[i]=NULL;多项式为空,p[i]-next=NULL,即只存在头指针。操作函数见程序结构描述部分。程序结构描述:函数包括创建结点函数,有序插入函数,打印函数,创建多项式函数,多项式清空函数,多项式销毁函数,求值函数,求和函数,求差函数,复制函数,删除结点函数,修改函数,n阶微分函数,不定积分函数。对函数原型,功能,借口逐一描述如下:创建结点函数函数原型:linklist makenode(double coef, int exp)输入double型系数项,int型指数项,创建lnode结点,返回指向结点的linklist指针。功能:创建新结点,在复制函数以及输入系数指数插入结点时(修改多项式)调用。有序插入函数函数原型:void insert(linklist phead,linklist head)输入插入结点指针phead以及多项式头指针head,无返回值功能:新结点phead有序插入头结点为head的多项式内(按指数项降序排列),在创建,复制,修改函数中调用。打印函数函数原型:void printlinklist(linklist phead)输入待打印多项式头指针phead,无返回值分别打印系数项和指数项,打印系数项是使用%g输入取消无效0,通过特殊情况讨论(如exp=0,exp=1,首项的加号等情况),使多项式输出符合书写习惯。功能:打印多项式创建多项式函数原型:linklist creatlist()返回创建多项式头指针,调用时先在主函数中输入该多项式头指针在头指针数组中位置。实现:先若该位置无多项式,申请头结点,之后新建数据结点,有序插入头结点对应多项式。清空多项式函数原型:void linklistclear(linklist head)输入待清空多项式头结点,无返回值,将p[i]仅保留头结点。实现:用前后两指针,遍历多项式并逐一删去结点,最后将头指针的next域置NULL。销毁多项式函数原型:void linklistdestroy(linklist head)输入待销毁多项式头结点,无返回值,将p[i]置NULL实现方法类似清空,删去包括head在内结点。多项式求值函数原型:double linklistvalue(linklist head,double x)输入待求多项式头结点,变量x值 double x,返回double型结果实现:通过exp求每一项权重,与系数coef相乘,最后累加所有结果。多项式求和函数原型:void linklistadd(linklist ahead,linklist bhead,linklist chead)输入相加两多项式a,b头指针以及输出位置c,无返回值实现:通过pa,pb遍历a,b,新建c结点对比当前位置a,b exp大小,分别做对应赋值,之后将c结点插入c多项式中(*当c新结点系数为0时不进行插入)多项式求差函数原型:void linklistsub(linklist ahead,linklist bhead,linklist chead)输入相减两多项式a,b头指针以及输出位置c,无返回值实现完全与求和相同多项式复制函数原型:linklist linklistcopy(linklist

文档评论(0)

beifanglei + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档