一元多项式相加实验报告

一元多项式相加实验报告

ID:41411320

大小:59.38 KB

页数:8页

时间:2019-08-24

一元多项式相加实验报告_第1页
一元多项式相加实验报告_第2页
一元多项式相加实验报告_第3页
一元多项式相加实验报告_第4页
一元多项式相加实验报告_第5页
资源描述:

《一元多项式相加实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一元多项式相加实验报告程序代码:#include#includetypedefstructnode{//定义节点类型floatcoef;intexpn;structnode*next;}PLOY;voidstart()//用户选择界面{printf("***++++++++++++++++++++++++++++++++++++***rT');printf(”两个一元多项式的相加:”);printf(u***++++++++++++++++++++++++++++++++++

2、++***");printf(“请选择操作:”);printf(u0.退出”);printf(nl.两个一元多项式相加”);}voidinsert(PLOY*head,PLOY*input)//查找位置插入新链节程序{PLOY*pre,*now;intsignal=0;pre=head;//pre定义为现在的前一个链节if(pre->next==NULL){pre->next=input;}else{now=pre->next;while(signal==O){if(input->expne

3、xpn)//当新链节小于现在的连接时向后移一个链节{if(now->next==NULL){now->next=input;signal=l;}elsepre=now;now=pre->next;elseif(input->expn>now->expn)//如果发现比现在的链节大了就插入到这个连接的前面{input->next=now;pre->next=input;signal=l;}else{now->coef=now->coef+input->coef;signal=l;free(input);//与当前链节相等

4、指数if(now・>coef==0){pre->next=now・>next;free(now);}}}}}PLOY*creat(charch)〃输入多项式{PLOY*head,*inpt;floatx;inty;head=(PLOY*)malloc(sizeof(PLOY));//创建链表头head->next=NULL;print"请输入一元多项式%c:(格式是:系数指数;以00结束!)”,ch);scanf(”%f%d”,&x,&y);while(x!=0){inp匸(PLOY*)malloc(sizeof(

5、PLOY));//创建新链节inpt->coef=x;inpt->expn=y;inpt->next=NULL;insert(head,inpt);//不然就查找位置并且插入新链节printfC*请输入一元多项式%c的下一项:(以0()结束!)",ch);scanf(”%f%d”,&x,&y);1returnhead;PLOY*addPLOY(PLOY*head,PLOY*pre)//多项式相加PLOY*input;intflag=0;while(flag==O){if(pre->next==NULL)flag二1

6、;〃当现在指向空时跳出循环else{pre=pre->next;input=(PLOY*)malloc(sizeof(PLOY));//创建新链节input->coef=pre->coef;input->expn=pre->expn;input->next=NULL;insert(headjnput);}//否则把当前屯(x)啲链节插入到”y(x)”中}returnhead;}PLOY*minusPLOY(PLOY*head,PLOY水pre)//多项式相加{PLOY*input;intflag=0;while(fla

7、g==O){if(pre->next==NULL)flag二1;〃当现在指向空时跳岀循环else{pre=pre->next;input=(PLOY*)malloc(sizeof(PLOY));//创建新链节input->coef=coef;input->expn=pre->expn;input->next=NULL;insert(head,input);}//否则把当前”g(x)”的链节插入到“y(x)“中}PLOY*byPLOY(PLOY*head1,PLOY*head2)//多项式相乘PLOY*input,*re

8、s,*p「e;intflag=0;res=(PLOY*)malloc(sizeof(PLOY));//创建链表头res->next=NULL;head1=head1・>next;pre=head2;while(flag==O){if(pre->next==NULL){pre=head2;//当现在扌旨向空吋跳出循环head1=he

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。