急需一个程序!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 20:48:42
编程 : 两个一元多项式的和.
编程语言不限,只要能算出结果就行;急需啊.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
把代码写全了 本人能力有限

polynode * addpolynomial(polynode *f,polynode *g)
//多项式相加
{
polynode * fg;
polynode *t,*q,*s,*r;
float m;
t=f->next;
q=g->next;
fg=r=(polynode*)malloc(sizeof(polynode));
fg->next=NULL;
while(t&&q)
{
if(t->expn==q->expn) //指数相等时系数相加
{
m=t->coef+q->coef;
if(m!=0) //系数为不0时加到结果中去
{
s=(polynode *)malloc(sizeof(polynode));
s->coef=m;
s->expn=t->expn;
s->next=NULL;
}
t=t->next;
q=q->next;
}
else //指数小的加到结果中去再后移
if(t->expn<q->expn)
{
s=(polynode *)malloc(sizeof(polynode));
s->coef=t->coef;
s->expn=t->expn;
s->next=NULL;
t=t->next;
}
else
{
s=(polynode *)malloc(sizeof(polynode));
s->coef=q->coef;
s->expn=q->expn;
s->next=NULL;
q=q->next;
}

if(fg->next==