早教吧 育儿知识 作业答案 考试题库 百科 知识分享

两个一元多项式相加,为什么0+0时输出的结果是空白,哪位大虾帮忙看一下,小弟急求,在线等Polytype*polyadd(Polytype*ha,Polytype*hb){/*多项式相加*/Polytype*hc=malloc(sizeof(Polytype)),*pc=hc,*pa=ha->next,*pb=hb-

题目详情
两个一元多项式相加,为什么0+0时输出的结果是空白,哪位大虾帮忙看一下,小弟急求,在线等
Polytype *polyadd(Polytype *ha,Polytype *hb){/*多项式相加*/
Polytype *hc=malloc(sizeof(Polytype)),*pc=hc,*pa=ha->next,*pb=hb->next;
int e,c; /*c 为系数,e为指数*/
while(pa || pb){
if(pa&&(pb==NULL||(pa->ee))){
c=pa->c; e=pa->e;
pa=pa->next;
}
else if(pb&&(pa==NULL||(pa->e>pb->e))){
c=pb->c; e=pb->e;
pb=pb->next;
}
else{
c=pa->c+pb->c;
e=pa->e;
pa=pa->next;
pb=pb->next;
}
if(c){
pc->next=malloc(sizeof(Polytype));
pc=pc->next;
pc->c=c;
pc->e=e;
}
}
pc->next=NULL;
return hc;
}
▼优质解答
答案和解析
虽然不知道你这个Polytype类内部的定义是怎样的,但是如果说两个都是0,相加不输出结果的话,问题应该是出在 while(pa || pb)这一行,当两个多项式均是0多项式时,pa和pb都是false,这样一来,while循环里的东西全部不能执行.只剩下
pc->next=NULL;
return hc;
这两行,结果自然是没有输出.
想要有输出的话,你需要在while循环外多设计一个处理零多形式的过程.
看了 两个一元多项式相加,为什么0...的网友还看了以下:

跨膜运输和非跨膜运输跨膜运输和非夸膜运输有什么区别啊为什么包吞包吐不是夸膜运输?RNA蛋白质进出核  2020-05-13 …

俄罗斯货运量最大的交通运输方式是什么?是管道运输还是铁路运输,为什么是这种运输,自然社会条件对其有  2020-05-14 …

(2008年)在进行运输项目经济评价时,计算运输项目效益和费用的基础是( )。A.运输量(交通量)B  2020-05-19 …

在运输项目经济评价时,计算运输项目效益和费用最重要的基础是( )。A.预测运输量 B.项目残值  2020-05-19 …

开通代付业务时,94帐户为选输项,输入时,客户可以办理()代付,不输入时,客户只能办理()代付A.单  2020-05-27 …

如果有一卷铁丝,我要测它的长度,可以利用物质的质量进行测试,这卷铁丝的长度是L,质量是M,可以先测  2020-06-03 …

物品在运动的传送带上运输是什么摩擦我们常常可以看到用传送带运输物品,比如说坐地铁时安检包的传输带,  2020-06-04 …

Vb:一条长度为L的铁丝,要制作一个面积最大的矩形框.填空完成程序,输入铁丝的长度L,输出矩形面积的  2020-11-01 …

图的基本运算(程序清单)l建立一个顶点信息是字符的无向图;l输出深度优先遍历的结果;l输出广度优先遍  2020-11-18 …

根据载体蛋白的什么可分为"单运输"和"协同运输"?《细胞生物学》说是“根据载体蛋白(被动运输中协助扩  2020-12-15 …