我的程序功能是用两个单链表La,Lb存储一元多项式,并实现多项式的加法,将结果存在La中并显示,可是运行不起来,哪位好心人帮忙改一下啊,拜托了!  
#include  <iostream.h>  struct polynomial{  
float coef;  
int expn;  
polynomial *next;  
}  polynomial InitList(polynomial &L){//???  
    L->coef=0;  
L->expn=0;  
L->next=0;  
return L;  
}  void insertlist(polynomial &L){  
    polynomial *p=L->next;  
polynomial *s;  
s=new polynomial;  
cout  <  <"输入系数:"  <  <endl;  
cin>>s->coef;  
cout  <  <"输入指数:"  <  <endl;  
cin>>s->expn;  
    s->next=p->next;  
p->next=s;  
}  void AddPolyn(polynomial &pa, polynomial &pb){    
polynomial *qa,*qb,*ss,*u;  
float x;  
     qa=pa->next; qb=pb->next; ss=pa;  
    while (qa&&qb){  
        switch {  
            case qa->expn  <qb->expn:  
                  ss=qa; qa=qa->next; break;  
            case qa->expn=qb->expn:  
                   x=qa->coef+qb->coef;  
                if(x!=0){  
                     qa->coef=x; ss=qa; qa=qa->next; u=qb;  
                     qb=qb->next;  free(u);  
}//if  
                else{  
                   ss->next=qa->next;  free(qa); qa=ss->next;   
                   u=qb; qb=qb->next; free(u);  
}//else  
               break;  
            case qa->expn>qb->expn:  
                  u=qb->next; ss->next=qb; ss=qb; qb->next=qa; qb=u; break;  
}  
}  
}  
void Inputlist(polynomial &L){  
char c;int i=1;  
do  
cout  <  <"输入第"  <  <i  <  <"项,以#结束:"  <  <endl;  
    insertlist(polynomial &L);  
aa:     cin>>c;  
switch(c){  
case '+': i++;break;  
case '#': break;  
default:cout  <  <"输入错误,重新输入!"  <  <endl;goto aa;  
}  
while(c!='#');  
}  
    
void showlist(polynomial &L){  
    polynomial *pp;  
pp=L->next;  
cout  <  <"所得的多项式是:\t";  
while(pp->next){  
cout  <  <pp->coef  <  <'\t'  <  <pp->expn  <  <"+"  <  <'\t'  <  <endl;  
pp=pp->next;  
}  
}  
void main (void){  
polynomial *La,*Lb;  
InitList(La);  
InitList(Lb);  
Inputlist(La);  
Inputlist(Lb);  
AddPolyn(La, Lb);  
showlist(La);  
}