>expn) // 指数相等需要判断系数和是否为零{ if((L1->coef+L2->coef)!=0) { q->coef=L1->coef+L2->coef; q->expn=L1->expn; L->next=q; L=q; } L1=L1->next; L2=L2->next; }} else // 若一个多项式遍历完, 直接讲另一个多项式的剩余项移至p if(L1==NULL&&L2!=NULL) while(L2!=NULL) { q=(Polyn)malloc(sizeof(struct Polynomial)); q->next=NULL; q->coef=L2->coef; q->expn=L2->expn; L->next=q; L=q; 数据结构实验报告中国科学技术大学 10 L2=L2->next; } else while(L1!=NULL) { q=(Polyn)malloc(sizeof(struct Polynomial)); q->next=NULL; q->coef=L1->coef; q->expn=L1->expn; L->next=q; L=q; L1=L1->next; }} PrintPolyn(p); } void Add() { // 求和函数 int i=0,m=0,n=0; printf(" 请输入多项式求和后的存放位置:"); scanf("%d",&i); while(head[i]->next!=NULL) { printf(" 此位置已存在另一多项式,请重新输入:"); scanf("%d",&i); } printf(" 请输入需要求和的两个多项式的序号( 1-%d )如'4,8':",MAX); scanf("%d,%d",&m,&n); AddPolyn(head[i],head[m],head[n]);