收藏 分销(赏)

C++一元多项式计算问题-课程设计说明书.docx

上传人:s4****5z 文档编号:8900312 上传时间:2025-03-07 格式:DOCX 页数:5 大小:65.34KB 下载积分:10 金币
下载 相关 举报
C++一元多项式计算问题-课程设计说明书.docx_第1页
第1页 / 共5页
C++一元多项式计算问题-课程设计说明书.docx_第2页
第2页 / 共5页


点击查看更多>>
资源描述
设计说明 1 问题描述与功能设计 本程序要求能够实现从键盘键入两个多项式的系数、指数相关数据后,能够进行多项式输出、多项式相加、多项式相减、多项式求积的运算。 2算法 多项式的输入 调用build( )函数建立链表,将多项式每一项的系数与指数作为链表一个结点的数据,按照指示输入每一项的系数与指数时,并且将输入的结点信息按指数降序排列的方式插入到之前建立的链表中。依次输入、建立一元多项式a和b。如下图。 多项式的输出: 调用dispay( )函数将多项式链表中的结点数据按照一元多项式的格式(如:6x^5+3x^3+7x+3)输出到屏幕上。 两个多项式的加法 调用add()函数直接对两个多项式的链表的结点成员的系数与指数按照数学中多项式相加的原则进行操作。相加所得的多项式存放到新建的第三个多项式中。再对第三个多项式输出即可。 两个多项式的减法 调用sub()函数对两个多项式减法运算。首先对要减的多项式的系数求反,接着调用AddPolyn()函数对处理后的多项式相加即两个多项式的相减。所得的多项式存放到新建的第三个多项式中,再对第三个多项式输出即可。 两个多项式的乘法 调用mul()函数对两个多项式进行乘法运算。根据数学知识,依次用一个多项式的每一项乘以另一个多项式的每一项,再求和、合并同类项即两个多项式的乘积。当中用了多两个多项式的while循环,以确保两个多项式的每一项都得到相应的运算,每一次运算后调用Insert()函数把乘积插入到新建的链表中,以得到一个结点信息按指数降序排列的方式排列,并以合并同类项的链表。 3 函数定义 为了程序功能的顺利实现,在本程序中定义了如下函数: 函数名 功能 build() 建立节点 dispay() 显示多项式 add() 两多项式进行相加 sub() 两多项式进行相减 copy() 复制链表(保护原数据) mul() 两多项式进行相乘 same() 判断输入项和已存在的是否有相同的 del() 清除链表 4 界面设计 程序操作主界面: 5 编码 链表建立的函数build(Link &L,int n),该函数在多项式信息输入时按照指数降序排列建立链表,并将和已存在的相同的项和系数为零的要求重新建立。 两个多项式的减法是建立在加法的的基础上,对要减的多项式的系数求反,接着调用sub()函数对处理后的多项式相加即两个多项式的相减 void sub(Link &pc,Link pa,Link pb) { Link p,pt; copy(pt,pb); p=pt; while(p!=NULL) { (p->data).num=(-(p->data).num); p=p->next; } add(pc,pa,pt); del(pt); } 两个多项式的乘法 void mul(Link &pc,Link pa,Link pb) { Link p1,p2,p,pd,newp,t; pc=new link; pc->next=NULL; p1=pa->next; p2=pb->next; while(p1!=NULL) { pd=new link; pd->next=NULL; p=new link; p->next=NULL; t=p; while(p2) { newp=new link; newp->next=NULL; newp->data.num=p1->data.num*p2->data.num; newp->data.index=p1->data.index+p2->data.index; t->next=newp; t=t->next; p2=p2->next; } add(pd,pc,p); copy(pc,pd); p1=p1->next; p2=pb->next; del(p); del(pd); } }} V 11
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服