m1,j,ave1);// 输出每门课程情况} for(i=0;i<n;i++) { ave2=0; for(j=0;j<SCORE_M;j++) { *(ap+i)=*(ap+i)+(p+i)->score[j]; } ave2=*(ap+i)/SCORE_M; printf(" 学生%s 的总成绩为%d, 平均成绩为%d",(p+i)->name,*ap,ave2);// 输出每个学生情况}} /* 函数功能:将学生按总分从高到低排序*/ void Desortbyscore(struct student *p,float *ap,int n) { int i,j,max; struct student temp; for(i=0;i<n;i++) { max=i; for(j=i+1;j<n;j++); { if(ap[j]>ap[max]) max=j; } if(max!=i) { temp=p[i]; p[i]=p[max]; p[max]=temp; }} for(i=0;i<n;i++) { (p+i)->mingci=i; printf(" 按总分排序结果为第%5d 名为%s\t 总分为%d\n",i,(p+i)->name,*(ap+i)); }} /* 函数功能:将按学号从小到大排学生顺序*/ void Assortbynum(struct student *p,int n) { int i,j,min; struct student temp; for(i=0;i<n;i++) { min=i; for(j=i+1;j<n;j++) { if((p+j)->num<(p+min)->num) { min=j; }} if(min!=i) { temp=p[i]; p[i]=p[min]; p[min]=temp; } for(i=0;i<n;i++)