早教吧作业答案频道 -->其他-->
两个一元多项式相加,为什么0+0时输出的结果是空白,哪位大虾帮忙看一下,小弟急求,在线等Polytype*polyadd(Polytype*ha,Polytype*hb){/*多项式相加*/Polytype*hc=malloc(sizeof(Polytype)),*pc=hc,*pa=ha->nex
题目详情
两个一元多项式相加,为什么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->e<pb->e))){ 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...的网友还看了以下:
整式除法概念单项式除以单项式时,把、分别相处,作为商的因式,对于只在被除式中含有的字母,则;多项式 2020-05-22 …
等差数列bn前7项为正后面的为负当N大于7时求和为什么是Sn=b1+b2+…+b7-(b8+b9+ 2020-07-09 …
数列{an}是首项为23,公差为整数的等差数列,且前六项为正,从第七项开始为负,1求此等差数列的公 2020-07-09 …
关于一元二次方程当一次项系数为0时,是说它无一次项,还是一次项为0x方?为什么?还有,如果一次项系 2020-07-11 …
是关于十字相乘法的(1)当二次三项式中常数项为正数时,分解所得因式中常数项符号有何关系?他们的符号 2020-07-31 …
关于二项式(x-1)1999有下列四个命题,①该二项展开中非常数项的系数和为1②该二项展开式中系数 2020-07-31 …
怎么分奇偶性求数列的通项公式?an=n,n为奇数,an=2×3∧(n/2-1),n为偶数.我不知道 2020-08-01 …
一道极限和数列的综合问题.急设首项为a公差为d的等差数列的钱n项和为An,又首项为a公比为q的等比 2020-08-02 …
二项式(x^3+1/x^2)^n的展开式中,只有第6项的系数最大,则该展开式中的常数项为为什么当n 2020-08-03 …
数列{an}前项和为(n+1)^2+t,则n+1项和为(n+2)^2+t两式相减,得第n+1项为:2 2020-11-24 …