问题遇到的现象和发生背景
现在用带头节点的单链表来存储多项式,链表中的一个节点表示多项式的一项,
节点中coef表示多项式的系数,exp表示多项式的次数,例如5x8用一个节点表
示时,该节点的coef成员值为5,exp值为8。
请设计void polyAdd(PolyList LA, PolyList LB,PolyList LC)函数。
参数:LA,LB指向的链表是带头节点的单链表,链表中的每个数据
节点表示多项式的一项,数据节点已经按指数从大到小排序。
LC指向一个空的带头节点的链表,表示空的多项式。
该函数用来对多项式LA和LB相加,结果保存在多项式LC指向的单链表中。
请注意,本题有预置代码,只需提交所要求的函数定义代码即可。
问题相关代码,请勿粘贴截图
void polyAdd(PolyList LA, PolyList LB,PolyList LC)
{
int sum;
LA=LA->next;
LB=LB->next;
while(LA!=NULL&&LB!=NULL){
if(LA->exp>LB->exp){
LC->next=LA;
LC=LA;
LA=LA->next;
}
if(LA->expexp){
LC->next=LB;
LC=LB;
LB=LB->next;
}
if(LA->exp==LB->exp){
sum=LA->coef+LB->coef;
if(sum!=0){
LC->next->coef=sum;
LC->next->exp=LA->exp;
LC=LC->next;
LA=LA->next;
LB=LB->next;
}
else{
LA=LA->next;
LB=LB->next;
}
}
}
if(LA!=NULL){
LC->next=LA;
}
if(LB!=NULL){
LC->next=LB;
}
if(LA==NULL&&LB==NULL){
LC->next=NULL;
}
}
运行结果及报错内容
Error:Segmentation