资料*/
else 空*/
{
if(p1->next==NULL) 链表的末尾*/
{
p1->next=p0;
p0->next=NULL; 新开单元相连接*/
}
else
{
while(p1->next!=NULL) 到末尾,继续找*/
{
p2=p1;p1=p1->next;
}
/*链表不为
/*找到原来
/*将它与
/*还没找
p1->next=p0;
p0->next=NULL;
}
}
n=n+1;
p1=head;
p0=stu;
for(i=1;i { for(j=i+1;j<=n;j++) { max=p1; p1=p1->next; if(max->number>p1->number) { k=max->number; max->number=p1->number; p1->number=k; 结点中的学号值,使得学号大者移到后面的结点中*/ strcpy(t,max->name); strcpy(max->name,p1->name); strcpy(p1->name,t); 后结点中的姓名,使之与学号相匹配*/ fen=max->chinese; max->chinese=p1->chinese; p1->chinese=fen; 结点中的语文成绩,使之与学号相匹配*/ fen=max->mathmatic; max->mathmatic=p1->mathmatic; p1->mathmatic=fen; 后结点中的数学成绩,使之与学号相匹配*/ fen=max->english; max->english=p1->english; p1->english=fen; /*交换前后 /*交换前 /*交换前后 /*交换前 /*交换前 后结点中的英语成绩,使之与学号相匹配*/ } } max=head;p1=head ; max,p指向链表头*/ } end2: printf(\现在的学生数为:%d个!\\n\ return(head); } /*==========查询数据==========*/ /*函数search,功能:查询学生成绩*/ score *search(score *head) { int number; score *p1,*p2; printf(\输入要查询的学生的学号:\ scanf(\ /*重新使 while(number!=0) { if(head==NULL) { printf(\没有任何学生资料!\\n\ printf(\ printf(\学号\\t|姓名\\t|语文\\t|数学\\t|英语\\t|\\n\ printf(\ p1=head; while(number!=p1->number&&p1->next!=NULL) {p2=p1;p1=p1->next;} if(number==p1->number) { printf(\e,p1->mathmatic,p1->english); printf(\ } else