if(head==NULL) { printf(" 没有任何学生资料! "); return(head); }
p1=head; while(number!=p1->number&&p1->next!=NULL) /*p1指向的不是所要找的首结点,并且后面还有结点*/ /*p1后移一个结点*/ if(number==p1->number) /*找到了*/ { if(p1==head) head=p1->next; /*若p1指向的是首结点,把地二个结点地址赋予head*/ else p2->next=p1->next; /*否则将下一个结点地址 赋给前一结点地址*/ printf("删除:%d ",number);n=n-1; } else printf("%d不存在此学生! ",number); /*找不到该结点*/ printf("输入要删除的学生的学号:"); scanf("%d",&number); getchar(); } #ifdef DEBUG printf("已经退出了! "); #endif printf("现在的学生数为:%d个! ",n); return(head); }
/*============================================================================*/ /*============================================================================*/ void print2311(score *head) /*函数print2311,功能:显示学生成绩*/ { score *p; if(head==NULL) {printf(" 没有任何学生资料! ");} else {printf("%d ",n); printf("----------------------------------------- "); printf("学号 姓名 语文 英语 数学 "); printf("----------------------------------------- ");/*打印表格域*/ p=head; do {printf("%d %s %.1f %.1f %.1f ",p->number,p->name,p->yuwen,p->yingyu,p->shuxue); printf("----------------------------------------- ");/*打印表格域*/ p=p->next;}while (p!=NULL);/*打印完成了*/ } } /*=========================================================================*/ /*=========================================================================*/ score *statistics2311(score *head) /*函数statistics2311,功能:统计学生成绩*/ { float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0,min; score *p; int x,y=0,i=0;
p=head;
上一篇:选票
下一篇:学数学也要学点偷懒的技术
|