实验二 一元多项式求导问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 一元多项式求导问题 一:问题描述 求一元多项式Pn(x)=P0+P1x+ P2x2+```+ Pnxn的一阶导数。 二:数据结构设计 一元多项式是个和式,其中每一项由系数和指数幂确定。因此,可用下列线性表来表示:((p1,e1),(p2,e2),```(pn,en))。线性表的每个元素含有两个数据项:一个数据p,另一个指数幂e。存储结构链式,顺序式均可。 若为链式存储,结点结构如下: coef exp next 为了节省内存空间,所以选择有首节点的单链表。 三:算法设计 系统规定的功能涉及到的算法有:结构体定义,定义空链表,删除链表,多项式显示,多项式建立,函数求导表示,主函数调用。 1:结构体定义: struct polyNode { float coef; //定义系数 int exp; //定义指数 polyNode*next; //指针域 }; 2:定义空链表: polyNode *poly() { polyNode *Head; Head=new polyNode; Head-next=NULL; return Head; } 3:删除链表: void Destroypoly(polyNode *Head) //释放内存 { polyNode*p; while(Head!=NULL) { p=Head; Head=Head-next; delete p; } Head=NULL; } 4:多项式显示: polyNode*disp(polyNode*Head) { polyNode*p; p=Head-next; while(p!=NULL) { coutp-coefx^p-exp\t; p=p-next; } return Head; } 5:多项式建立: polyNode *create(polyNode*Head) { polyNode*p; int a; float b; Head=NULL; while(a) { p=new polyNode; cout输入系数和指数:endl; cinab; p-coef=a; p-exp=b; p-next=Head; Head=p; } return Head; } 6:函数求导表示: polyNode*qiudao(polyNode*Head) { polyNode *p; p=Head-next ; while(p!=NULL) { if(p-exp!=0) //系数不为零时进行求导 { p-coef=p-coef*p-exp; p-exp=p-exp-1; //求导后系数变为原来的系数乘以指数, 指数变为原来的指数减一 } else p-coef=0; p=p-next; } return Head; } 7:主函数调用: int main(void) { polyNode*Head; Head=poly(); Head=create(Head); cout原函数输出为:f(x)=; disp(Head); Head=qiudao(Head); cout求导后函数输出:f(x)=; disp(Head); Destroypoly(Head); return 0; } 四:运行与测试 1:运行程序 2:输入数据 (1)求多项式f(x)=2X^2-5X^10+7X^20(指数为正,系数有正有负) (2)求多项式f(x)=9X^2+12X^4+3X^5+5X^7(指数为正,系数为正) (3)求多项式f(x)=X^-5+6X^-3+5X^2+3X^4(指数有正有负,系数为正) 五:调试记录与收获 学会正确使用单链表,懂得在程序中求导的表示方法,懂得多项式的建立及其显示,当建立链表后,使用结束要知道删除链表释放内存。 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档