#include #include #include #include #define M 10 //宏定义评委人数 struct player //结构体定义选手 { int num; char name[8]; int score[M]; }; void Intplayer(struct player a[],int n) //输入选手数据函数 { int i; printf("请输入参赛歌手的人数:"); scanf("%d",&n); printf("请输入歌手的学号和姓名:\n"); for(i=0;ib[j]) k=j; if(k!=i) { temp=b[i]; b[i]=b[k]; b[k]=temp; strcpy(str,a[i].name); strcpy(a[i].name,a[k].name); strcpy(a[k].name,str); t=a[i].num; a[i].num=a[k].num; a[k].num=t; } } } void main() { system("color F4"); //白底红字 int flag=1,n,i,m,j,r; FILE *fp; fp = fopen("data.txt","w+"); //文件写入位置 struct player a[20]; float aver[99]={0}; int sum[99]={0}; int Max[99]; int Min[99]; int add=2; printf(" 歌手比赛系统主菜单\n"); printf("************************************************************\n"); printf(" **********1.输入选手数据***********\n"); printf(" **********2.评委打分***************\n"); printf(" **********3.成绩排序***************\n"); printf(" **********4.数据查询***************\n"); printf(" **********5.追加学生数据***********\n"); printf(" **********6.写入数据文件***********\n"); printf(" **********7.退出系统***************\n"); printf("*************************************************************\n\n\n\n"); while(flag) { printf("请输入你想进行的操作:"); scanf("%d",&r); switch(r) { case 1: Intplayer(a,n); //调用输入数据函数 break; case 2: printf("请输入1中人数:"); scanf("%d",&n); for(i=0;ia[i].score[j]) Min[i]=a[i].score[j]; } aver[i]=(float)(sum[i]-Max[i]-Min[i])/(M-2); } sort(a,aver,n); //调用排序函数 for(i=0;i