多项式数据结构c语言实现_第1页
多项式数据结构c语言实现_第2页
多项式数据结构c语言实现_第3页
多项式数据结构c语言实现_第4页
多项式数据结构c语言实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、typedef stmct PTermfloat coef;int expon;stmct PTerm * next; PLTerm;void PolyZeio(PLTerm * head)if(* head=(PLTerm *)malloc(sizeoPLTerm)=NULL) exit ;(* head)-next=NULL;(* head)-coef=0;(* head)-expon=0;hit PolyNotZero(PLTerm * head)if(head-next=NULL) retuin 0;elsereturn 1;hit PolyLengtli(PLTenn * head)

2、PLTerm * p=head;int size=0;while(p-next !=NULL)p=p-next;size+;return size;int PolyLeadExp(PLTerm * head)/*求多项式阶数*/if(! PolyN otZero(head)piiiitf(nenoriiH);return -1;)elsereturn head-next-expon;mt PolyAttach(PLTerm * rear.float c.iiit e)PLTerm * p;if(p=(PLTerm *)malloc(sizeof(PLTerm)=NULL) return 0;p

3、-coef =c;p-expon =e;p-next =NULL;(* rear)-next=p;(* rear)=p;return 1;hit PolyRead(PLTerm * head)PLTerm * real- &head;hit i, n;int e;float c;pnntf(请输入待操作多项式的项数:3”);scanff%d”,&n);pnntfCE”);fbi(i=l;inext !=NULL)(pnntf(”.2f,%d ,p-next-coef,p-next-expon); p= p-next;)elseprintR”.2f,%cT,pcoef,pexpon);pnntf

4、CW);PLTeim * PolyAdd(PLTerm * a.PLTenn * b)/*多项式加法*/PLTerm * p ,* real;float sum;PolyZero(&p);rear= p;while(a-next !=NULL & b-next !=NULL)if(a-next-expon b-next-expon)(PolyAttach(&rear,a-next-coef.a-next-expon);a= a-next;else(if(a-next-expon = b-next-expon)(sum=a-next-coef + b-next-coef;if(sum) Poly

5、Attach(&rear5sunLa-next-expon);a= a-next;b= b-next;elsePolyAttach(&rear.b-next-coeb-next-expon); b= b-next;)fbr(;a-next !=NULL;a= a-next) PolyAttach(&reaia-next-coef,a-next-expon);fbi(;b-next ?=NULL;b= b-next) PolyAttach(&reai;b-next-coefb-next-expon); rear-next =NULL;leturn p;PLTeim * PolySMult(PLT

6、enn * afloat c.mt e)/*多项式a乘系数为c指数为e的项*/PLTerm * p, * real;PolyZero(&p);reai-p;wlule(a-next !=NULL)PolyAttach(&rear,(a-next-coef)*c,(a-next-expon)+e);a=a-next;rear-next =NULL;return p;PLTeim * PolySub(PLTerm * a.PLTenn * b)/*多项式减法*/leturn PolyAdd(a,Poly SMult(br 1,0);PLTeim * PolyMult(PLTerm * a,PLTe

7、im * b)/*多项式乘法*/PLTerm * p;PolyZero(&p);wliile(a-next !=NULL)p=PolyAdd(p,PolySMult(b.a-next-coef,a-next-expon); a=a-next;retuin p; float PolyEval(PLTerm * a.float x)/*求多项式a在x处的值*/ float sum=0. term;inti;while(a-next! =NULL)/fbr(i=O,term=l;inext-expon;i-H-) term*=x;term*=a-next-coef;sum+=term;a=a-next;return

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论