多项式的四则运算
while(p) //将PollyA复制到PolyT中 {
s =
s->coef =
PolyT1->next->coef/PolyB->next->coef;
s->exp = PolyT1->next->exp -
(PolyList)malloc(sizeof(PolyNode));
}
pt->next=NULL; //将商存入到PolyC中 p = PolyC;
while(PolyT1->next &&
s->coef = p->coef ; s->exp = p->exp ; pt->next = s; pt = s; p = p->next ;
PolyB->next->exp;
p->next = s; p = s; //PolyT2 =
(PolyList)malloc(sizeof(PolyNode));
PolyT2 = PolySub(PolyT1 ,
PolyMutiply(PolyB , s_pre));
}
DestroyPolyList(PolyT1); PolyT1 = PolyT2;
//设置分隔结点
s
PolyT1->next->exp >= PolyB->next->exp)
{
s =
=(PolyList)malloc(sizeof(PolyNode));
s->coef = 0; s->exp = 0; p->next = s; p = s;
p->next = PolyT1->next; //将余项
(PolyList)malloc(sizeof(PolyNode));
s_pre->next = s; s->next=NULL;
PolyT复制到PolyC中
16 多项式的四则运算
}
free(PolyT1); return PolyC;
printf(\多项式的四则运算
*******\\n\
//PolyA + PolyB
PolyC = PolyAdd(PolyA , PolyB); printf(\
DisplayPolyList(PolyC); DestroyPolyList(PolyC);
void main() {
PolyList PolyA, PolyB , PolyC; //初始化PolyA,PolyB,以0结束 printf(\多项式的创建*******\\n\PolyA = CreatePolyList(); printf(\输入的多项式A: \DisplayPolyList(PolyA); printf(\
PolyB = CreatePolyList(); printf(\输入的多项式B: \DisplayPolyList(PolyB);
//PolyA - PolyB
PolyC = PolySub(PolyA , PolyB); printf(\
DisplayPolyList(PolyC); DestroyPolyList(PolyC);
printf(\
SortPoly(PolyA);
printf(\合并排序后的多项式A: \DisplayPolyList(PolyA); SortPoly(PolyB);
printf(\合并排序后的多项式B: \DisplayPolyList(PolyB);
//PolyA*PolyB
PolyC = PolyMutiply(PolyA , PolyB); printf(\
DisplayPolyList(PolyC); DestroyPolyList(PolyC);
17 多项式的四则运算
}
//PolyA/PolyB
PolyC = PolyDivide(PolyA , PolyB); printf(\
DisplayPolyList(PolyC); DestroyPolyList(PolyC);
18