一元多项式的加法减法乘法的实现

上传人:m**** 文档编号:497328715 上传时间:2022-11-30 格式:DOCX 页数:20 大小:240.99KB
返回 下载 相关 举报
一元多项式的加法减法乘法的实现_第1页
第1页 / 共20页
一元多项式的加法减法乘法的实现_第2页
第2页 / 共20页
一元多项式的加法减法乘法的实现_第3页
第3页 / 共20页
一元多项式的加法减法乘法的实现_第4页
第4页 / 共20页
一元多项式的加法减法乘法的实现_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《一元多项式的加法减法乘法的实现》由会员分享,可在线阅读,更多相关《一元多项式的加法减法乘法的实现(20页珍藏版)》请在金锄头文库上搜索。

1、细心整理福建农林高校计算机与信息学院课程设计报告课程名称:数据构造课程设计题目:一元多项式的加法减法乘法的实现姓 名:系:软件工程系专 业:软件工程专业年 级:2014学 号:指导老师:黄思先职 称:副教授完成起止日期:2016.6.5 - 2016.7.12016年07月1日福建农林高校计算机与信息学院课程设计结果评定评价内容评价指标评分权值评定成果业务水平有扎实的根底理论学问和课程学问;能正确设计试验方案;独立进展试验工作;能运用所学课程学问和技能去发觉与解决实际问题0.2设计质量试验正确,分析处理科学;设计结果有应用价值;图纸绘制符合国家标准,质量符合要求;计算及测试结果精确;工作中有创

2、新意识;对前人工作有改良或突破,或有独特见解; 0.4工作量、工作看法按期完成规定的任务,工作量饱满,难度较大;工作努力,遵守纪律;工作作风严谨务实0.2报告质量文字通顺,技术用语精确,符号统一,编号齐全,书写工整标准,图表完备、干净、正确;0.2合 计1.0指导老师签字:评定日期:细心整理书目一、 问题分析和任务定义1二、 程序设计内容1三、 程序调试与测试7四、 试验心得9五、 程序编码9一、问题分析及任务定义依次构造、动态链表构造下的一元多项式的加法、减法、乘法的实现。 【问题描述和根本要求】 设有一元多项式Am(x)和Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+ +A

3、mxm Bn(x)=B0+B1x1+B2x2+B3x3+ +Bnxn 请实现求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)Bn(x)。 要求: 1) 首先判定多项式是否稀疏2) 分别接受依次和动态存储构造实现;3) 结果M(x)中无重复阶项和无零系数项;4) 要求输出结果的升幂和降幂两种排列状况二、课程设计的内容2.1函数多项式创立函数PolyNode *Creatpoly()多项式输出函数void Prin_poly(PolyNode *h)多项式升序排列函数void Insortup(PolyNode *h)多项式降序排列函数void In

4、sortdown(PolyNode *h)多项式合并函数void UnitePoly(PolyNode *h)多项式相乘函数PolyNode *polymuti(PolyNode *h1,PolyNode *h2)多项式相加函数PolyNode *addition(PolyNode *ha, PolyNode *hb)多项式相减函数PolyNode *subduction (PolyNode *ha, PolyNode *hb)2.2设计各个模块的流程图1 main()起先定义*h1,*h2,*h创立多项式A输出文字合并同类项排序输出多项式A创立多项式B输出文字 合并同类项排序输出多项式Bad

5、ditionYa=1NYsubductiona=2NYa=3polymuti完毕(2) void Insortup(PolyNode *h)起先p=hnext完毕NP!=NULLYp=hnexts=hnextNs=snextsexp与snextexp互换scoef与snextcoef互换Ysnext!=NULLsexpsnextexpYN细心整理(3)void Insortdown(PolyNode *h)起先p=hnext完毕NP!=NULLYp=hnexts=hnextNs=snextsexp与snextexp互换scoef与snextcoef互换Ysnext!=NULLsexpsnext

6、expYN(4) PolyNode *polymuti(PolyNode *h1,PolyNode *h2)5void UnitePoly(PolyNode *h) (6) PolyNode *addition(PolyNode *ha, PolyNode *hb)起先 三、程序调试与测试 相加结果相减结果相乘结果四、 试验心得在本次课程设计中,我明白了理论应与实际相结合,上机练习是提高编程实力最有效的方法,这次试验提高了我编写大型程序的实力以及查阅资料并从中获得有效资料的实力。这次课程设计加深了我对数据构造的进一步理解。五、程序编码试验程序:#include#include #include

7、 typedef struct Nodeint coef;/系数int exp;/指数struct Node *next;PolyNode;PolyNode *Creatpoly()/创立多项式的单链表PolyNode *h,*p,*q;h=(PolyNode *)malloc(sizeof(PolyNode);p=h;p-next=NULL;printf(请输入多项式的系数及其指数a b,当系数输入0时停顿输入n);q=(PolyNode *)malloc(sizeof(PolyNode);scanf(%d %d,&q-coef,&q-exp);while(q-coef!=0)p-next=

8、q;p=q;q=(PolyNode *)malloc(sizeof(PolyNode);scanf(%d %d,&q-coef,&q-exp);p-next=NULL;return(h);void Prin_poly(PolyNode *h)/将多项式输出函数PolyNode *p;p=h-next;while(p!=NULL)if(p-coef0&p!=h-next)if(p-exp0)printf(+%dx%d,p-coef,p-exp);else if(p-expcoef,p-exp);elseprintf(+%d,p-coef);else if(p-coefnext)if(p-exp0

9、)printf(%dx%d,p-coef,p-exp);else if(p-expcoef,p-exp);elseprintf(%d,p-coef);else if(p-exp0)printf(%dx%d,p-coef,p-exp);else if(p-expcoef,p-exp);else printf(%d,p-coef);p=p-next;void Insortup(PolyNode *h)/排序函数,使多项式中的各项按X的升幂排列PolyNode *s,*p;int t,m;for(p=h-next;p!=NULL;p=p-next)/类似于冒泡排序for(s=h-next;s-nex

10、t!=NULL;s=s-next)if(s-exps-next-exp)t=s-exp;m=s-coef;s-coef=s-next-coef;s-exp=s-next-exp;s-next-coef=m;s-next-exp=t;void Insortdown(PolyNode *h)/排序函数,使多项式中的各项按X的降幂排列PolyNode *s,*p;int t,m;for(p=h-next;p!=NULL;p=p-next)/类似于冒泡排序for(s=h-next;s-next!=NULL;s=s-next)if(s-expnext-exp)t=s-exp;m=s-coef;s-coe

11、f=s-next-coef;s-exp=s-next-exp;s-next-coef=m;s-next-exp=t;void UnitePoly(PolyNode *h)/合并同类项PolyNode *p1,*p2,*q1,*q2,*temp;q1=h;p1=q1-next;while(p1!=NULL)p2=p1-next;q2=p1;while(p2!=NULL)if(p1-exp=p2-exp)p1-coef=p1-coef+p2-coef;if(p1-coef=0)temp=p2;q2-next=p2-next;free(temp);temp=p1;q1-next=p1-next;p1=q1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号