主题:大家看看我多项式相乘的程序有什么问题
[em4]//输出时按降幂输出
struct LNode *chengfa(LinkList &L1,LinkList &L2)//乘法
{LNode *p,*q,*L;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
p=L1->next;
while(p)
{ q=L2->next;
while(q)
{
LNode *qq;
int xishu,zhishu;
qq=(LinkList)malloc(sizeof(LNode));
xishu=(p->xishu)*(q->xishu);
zhishu=(p->zhishu)+(q->zhishu);
qq->xishu=xishu;
qq->zhishu=zhishu;
p=L;
q=L->next;
if (q&&zhishu<q->zhishu)
{ p=q;
q=q->next;
}
if (q==NULL||zhishu>q->zhishu)
{qq=p->next;
q=qq->next;
}
else
{q->xishu=xishu+q->xishu;}
q=q->next;
}
p=p->next;
}
return L;
}
struct LNode *chengfa(LinkList &L1,LinkList &L2)//乘法
{LNode *p,*q,*L;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
p=L1->next;
while(p)
{ q=L2->next;
while(q)
{
LNode *qq;
int xishu,zhishu;
qq=(LinkList)malloc(sizeof(LNode));
xishu=(p->xishu)*(q->xishu);
zhishu=(p->zhishu)+(q->zhishu);
qq->xishu=xishu;
qq->zhishu=zhishu;
p=L;
q=L->next;
if (q&&zhishu<q->zhishu)
{ p=q;
q=q->next;
}
if (q==NULL||zhishu>q->zhishu)
{qq=p->next;
q=qq->next;
}
else
{q->xishu=xishu+q->xishu;}
q=q->next;
}
p=p->next;
}
return L;
}