printf(\ 4. 按总分由大到小排出名次并打印(显示)\\n\
printf(\ 5. 打印(显示)出成绩在全班平均分及平均分之上的学生名单\\n\ printf(\ 6.打印(显示)出某门课不及格的学生名单\\n\ printf(\ 0. 退出系统\\n\
printf(\ printf(\ 请从 0到6 选择操作\ c=getchar(); /*读入选择*/ }while(c<'0'||c>'9'); return(c-'0'); /*返回选择*/ }
/**************************************************************************/ int Input(Student stud[],int n) /*输入若干个学生数据*/ {
int i=0,j;
char sign,x[16]; /*x[10]为清除多余的数据所用*/ while(sign!='n'&&sign!='N') /*判断*/ {
printf(\ 该学生学号:\ /*交互输入*/ scanf(\ printf(\ 该学生姓名:\ scanf(\char c='y'; for(j=1;j<=M;j++) { if(c!='n'&&c!='N'){
printf(\ 该学生的第%d科成绩(若输入完成,直接输入-1结束):\m=j;
scanf(\ %d\ if(stud[n+i].score[j-1]==-1) break;
} }
gets(x); /*清除多余的输入*/
printf(\ 还要输入其他学生数据吗?(Y/N)\ scanf(\ %c\输入判断*/ i++; } return(n+i); }
/**************************************************************************/ void Display(Student stud[],int n) { /*显示所有学生的信息*/ int i;
printf(\ -----------------------------------\\n\格式头*/
printf(\ 学号 姓名 成绩 1 2 3 ...\\n\ printf(\ -----------------------------------\\n\ for(i=1;i printf(\ %-15s%-16s \ int j=1; do{ printf(\ \j++;} while(stud[i-1].score[j-1]!=-1); printf(\} printf(\ \ system(\ } /******************************************************************/ void all(Student stud[],int n) {/*统计每个学生的总分*/ int i; for(i=1;i while(stud[i-1].score[j]!=-1){ stud[i-1].all_score+=stud[i-1].score[j]; j++;} } } /********************************************************************/ int all_aver(Student stud[], int n){ /*全班平均分*/ int a=0,b=0; all(stud,n); for(int i=1;i a+=stud[i-1].all_score; b=a/n; } return b; }/**************************************************************/ void aver(Student stud[],int n){/*每个学生的平均分*/ int i; all( stud, n); for(i=1;i stud[i-1].aver_score=stud[i-1].all_score/m;} } /********************************************************************/ void sort(Student stud[], int n){ /*按总分排序*/ int i,j,*p,*q,s; char t[20]; for(i=0;i if(stud[j].all_score strcpy(stud[j+1].num,stud[j].num); strcpy(stud[j].num,t); strcpy(t,stud[j+1].name); strcpy(stud[j+1].name,stud[j].name); strcpy(stud[j].name,t); p=&stud[j+1].all_score; q=&stud[j].all_score; s=*p; *p=*q; *q=s; p=&stud[j+1].aver_score; q=&stud[j].aver_score; s=*p; *p=*q; *q=s; for(int k=1;k s=stud[j+1].score[k-1]; stud[j+1].score[k-1]=stud[j].score[k-1]; stud[j].score[k-1]=s; } } } /****************************************************************/ void high(Student stud[], int n){ /*输出总分在全班平均分及平均分之上的学生名单*/ int i; all(stud,n); printf(\ -----------------------------------\\n\格式头*/ printf(\ 学号 姓名 总分 全班平均分\\n\ printf(\ -----------------------------------\\n\ for(i=1;i { if(stud[i-1].all_score>=all_aver(stud, n)) printf(\ %d\\n\ stud[i-1].num,stud[i-1].name,stud[i-1].all_score,all_aver(stud, n)); if(i>1&&i==0) /*每十个暂停*/ {printf(\ -----------------------------------\\n\格式*/ printf(\ \ system(\ printf(\ -----------------------------------\\n\ } } printf(\ \ system(\ }/********************************************************************/ void unpass(Student stud[],int n){/*输出某门课程不及格学生名单*/ int j,i; printf(\ 你要查看哪一科不及格的学生名单?\\n\\t\\t 请输入课程号\scanf(\ printf(\ 不及格学生名单:\\n\ printf(\ -----------------------------------\\n\格式头*/ printf(\ 学号 姓名 课程号 分数\\n\ printf(\ -----------------------------------\\n\ for(i=1;i
通信工程C语言课程设计报告 - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)