实验四链式存储线性表的操作二项式的相加.docVIP

实验四链式存储线性表的操作二项式的相加.doc

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
实验四链式存储线性表的操作 二项式的相加.txt对的时间遇见对的人是一生幸福;对的时间遇见错的人是一场心伤;错的时间遇见对的人是一段荒唐;错的时间遇见错的人是一声叹息。/* PolyAdd.C -- 多项式相加,两个多项式采用的是链式存储结构 注意:多项式按照指数递增或递减输入 for example: endter la,lb:4,5 creat HA enter coef,exp: 6,5 4,4 -3,2 8,0 A(x)=6x^5+4x^4+-3x^2+8 creat HB enter coef,exp: -9,5 3,4 8,2 2,1 -89,0 B(x)=-9x^5+3x^4+8x^2+2x^1+-89 A(x)+B(x)=-3x^5+7x^4+5x^2+2x^1+-81 */ //C完整程序 #include stdio.h #include conio.h #include stdlib.h //多项式中的数据项的数据类型定义 typedef struct polynode{ int coef;//系数 int exp;//指数 struct polynode *next;//下一个数据项的地址 }PNode; //三个函数的声明 PNode * Creat_Linkst(int n);//创建多项式的函数 void PolyAdd(PNode *pa,PNode *pb);//多项式相加的函数 void Print_Linkst(PNode *H);//打印多项式的函数 main() { PNode *HA,*HB;//HA表示多项式la的头指针, HB项式lb的头指针 int la,lb;//la表示多项式la有几个数据项;la表示多项式lb有几个数据项 printf(endter la,lb:); scanf(%d,%d,la,lb);//输入两个多项式所含有的数据项的个数 printf(\ncreat HA\n); HA=Creat_Linkst(la);//调用创建多项式的函数,创建多项式la printf(A(x)=); Print_Linkst(HA);//调用输出多项式的函数,输出多项式la printf(\ncreat HB\n); HB=Creat_Linkst(lb);//调用创建多项式的函数,创建多项式lb printf(B(x)=); Print_Linkst(HB);//调用输出多项式的函数,输出多项式lb PolyAdd(HA,HB);//调用两个多项式相加函数,完成多项式la与lb的相加 printf(\nA(x)+B(x)=); Print_Linkst(HA);//输出两个多项式相加的结果 getch(); } PNode * Creat_Linkst(int n)//形式参数n表示的是多项式有几项。 //创建多项式的函数 { PNode *head,*p,*s;//head指向的是头结点,p始终指向尾结点,s是新建立一个结点地址 int i; head=(PNode *) malloc(sizeof(PNode));//创建头结点,并用head指向头结点 head-next=NULL; p=head; printf(enter coef,exp:\n); for(i=1;i=n;++i) //连续输入多项式各个数据项的系数和指数,完成多项式链式存储结构的建立 { s=(PNode *) malloc(sizeof(PNode));//新建结点 scanf(%d,%d,s-coef,s-exp);//给结点输入系数和指数 s-next=NULL; p-next=s;p=s; } return(head);//返回多项式的头结点 } void PolyAdd(PNode *pa,PNode *pb) //多项式的相加函数,把多项式lb中的数据项和la的数据项相加,结果存放在多项式la中 { PNode *pre,*qa,*qb,*q;// int sum; pre=pa;//pre始终指向正在操作的结点的前驱结点 qa=pa-next;//qa指向la的首原结点 qb=pb-next;//qb指向lb的首原结点 while(qaqb)//当两个多项式中的数据项都还没有比较完的时候,条件成立 {

文档评论(0)

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

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

1亿VIP精品文档

相关文档