for(i=0;i printf(\学校编号:%d\\n\ printf(\学校总分:%d\\n\ printf(\男团总分:%d\\n\ printf(\女团总分: %d\\n\\n\\n\ } //按编号顺序输出 break; case 2: for(i=0;i for(j=i+1;j if(h[remember[i]].score } // 用冒泡排序方法,用辅助数组记住头结点下标 for(i=0;i printf(\学校编号:%d\\n\ printf(\学校总分:%d\\n\ printf(\男团总分:%d\\n\ printf(\女团总分: %d\\n\\n\\n\//按所记下标顺序输出 } //按学校总分输出 break; case 3: for(i=0;i for(j=i+1;j if(h[remember[i]].mscore k=remember[i];remember[i]=remember[j];remember[j]=k; } for(i=0;i printf(\学校编号:%d\\n\ printf(\学校总分:%d\\n\ printf(\男团总分:%d\\n\ printf(\女团总分: %d\\n\\n\\n\ } //按男团总分输出 break; case 4: for(i=0;i for(j=i+1;j if(h[remember[i]].wscore for(i=0;i printf(\学校编号:%d\\n\ printf(\学校总分:%d\\n\ printf(\男团总分:%d\\n\ printf(\女团总分: %d\\n\\n\\n\ } break; //按女团总分输出 } printf(\请选择 2 继续,0 跳出\\n\ scanf(\ }while(sign==2); //循环执行输出语句 } void inquiry() //查询函数 { int choice; int i,j,k,s; printf(\按学校编号查询\\n\ printf(\按项目编号查询\\n\ printf(\请选择查询方式:\提供两种查询方式 scanf(\ switch(choice) { case 1: do { printf(\要查询的学校编号:\ scanf(\ if(i>n) printf(\错误:这个学校没有参加此次运动会!\\n\\n\\n\ else { printf(\要查询的项目编号:\ scanf(\ if(j>m+w||j==0) printf(\此次运动会没有这个项目\\n\\n\\n\//学校编号超出范围,则输出警告 else { printf(\这个项目取前 %d名,该学校的成绩如下:\\n\ for(k=0;k<5;k++) if(h[i-1].c[j-1].range[k]!=0) printf(\名次:%d\\n\//输出要查询学校项目的成绩 } } printf(\请选择 2 继续 , 0 跳出\\n\ scanf(\ printf(\ }while(s==2); //循环执行输出语句 break; case 2: do { printf(\要查询的项目编号:\ scanf(\ if(s>m+w||s==0) printf(\此次运动会不包括这个项目.\\n\\n\\n\//项目编号超出范围则输出警告 else { printf(\该项目取前 %d名,取得名次的学校\\n\ for(i=0; i if(h[i].c[s-1].range[j]!=0) printf(\学校编号:%d,名次:%d\\n\h[i].c[s-1].range[j]); } //输出该项目取得名次学校的成绩 printf(\继续 2,跳出 0\\n\ scanf(\ printf(\ }while(i==2); break; } } void writedata() //把数据存储在文件中 { FILE *report; int i; if((report=fopen(\ { printf(\不能打开文件\\n\ exit(1); } for(i=0;i fwrite(&h[i],sizeof(headnode),1,report); fclose(report); } //按头结点块写入 void readdata() //读出文件中数据的函数 { FILE *report; int i,j,k,s; if((report=fopen(\ { printf(\ exit(1); } for(i=0;i printf(\学校编号:\ fread(&k,sizeof(int),1,report); printf(\ printf(\学校总分:\ fread(&k,sizeof(int),1,report); printf(\ printf(\男团总分:\ fread(&k,sizeof(int),1,report); printf(\ printf(\女团总分:\ fread(&k,sizeof(int),1,report); printf(\ printf(\ getch(); for(j=0;j printf(\项目编号:\ fread(&k,sizeof(int),1,report); printf(\ printf(\所取名次数量:\ fread(&k,sizeof(int),1,report); printf(\ for(s=0;s<5;s++) { fread(&k,sizeof(int),1,report); if(k!=0) printf(\名次:\ printf(\ } for(s=0;s<5;s++) { fread(&k,sizeof(int),1,report); if(k!=0) printf(\分数:\ printf(\ } } printf(\ getch(); } fclose(report); //关闭文件 } //按照读一个数据就输出一个数据的方式显示数据内容 void main() { int choice; printf(\欢迎使用======================\\n\printf(\运动会分数统计系统********************\\n\ printf(\输入信息*************************\\n\printf(\输出信息*************************\\n\printf(\查询信息*************************\\n\ printf(\调用信息*************************\\n\ printf(\退出系统*************************\\n\\n\\n\printf(\ printf(\请选择要实现步骤的编号:\\n\\n\ scanf(\ switch(choice) {