void MultiplyPolyn(link & Pa,link & Pb)
{
link L,p,q,r,g,temp,imp;
p=Pa;
q=Pb;
imp=(link)malloc(sizeof(link));
imp->next=NULL;
g=imp;
L=imp;
while(p->next!=NULL)
{
r=(link)malloc(sizeof(link));
r->data.coef=p->next->data.coef*q->next->data.coef;
r->data.expn=p->next->data.expn+q->next->data.expn;
r->next=NULL;
g->next=r;
g=r;
p=p->next;
}
q=q->next;
while(q->next!=NULL)
{
p=Pa;
while(p->next!=NULL)
{
r=(link)malloc(sizeof(link));
r->data.coef=p->next->data.coef*q->next->data.coef;
r->data.expn=p->next->data.expn+q->next->data.expn;
r->next=NULL;
while(imp->next)
{
if(imp->next->data.expn>r->data.expn)
{
r->next=imp->next;
imp->next=r;
break;
}
else if(imp->next->data.expn==r->data.expn)
{
imp->next->data.coef=imp->next->data.coef+r->data.coef;
if(imp->next->data.coef==0.0)
{
temp=imp->next;
imp->next=imp->next->next;
free(temp);
}
break;
}
imp=imp->next;
}
if(imp->next==NULL)
{
imp->next=r;
imp=r;
}
imp=L;
p=p->next;
}
q=q->next;
}
Pa=L;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/166915.html
標籤:C語言
上一篇:倆電腦互 ping 不通
下一篇:c語言題,著急,很簡單的
