#include #include #include #define N 100 /*歌手人数最多100人*/ #define M 10 /*评委人数10人*/ int s; struct player { int num; /*歌手编号*/ char name[100]; /*歌手姓名*/ int score[10]; /*评委打分成绩*/ float ave; /*歌手的平均分*/ int index; /*歌手名次*/ }singer[N]; void f1(struct player singer[],int n) /*f1是输入选手信息的函数*/ { int i; for(i=0;i10) { printf("输入错误请重新输入:\n"); goto loop; } } printf("\n\n"); } int main(void) { int n,i,j,c,sum=0; system("color f9"); /*改变窗口颜色*/ 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(" 8 退出系统 \n"); do { printf("输入序号进行操作:"); scanf("%d",&n); switch(n) { case 1: printf("输入歌手人数(最多输入100名歌手): "); scanf("%d",&c); if(c>0&&c<=100) f1(singer,c); else printf("输入错误重新输入序号进行操作\n"); break; case 2: for(i=0;isinger[i].score[j]) Min[i]=singer[i].score[j]; } singer[i].ave=(sum[i]-Max[i]-Min[i])/(M-2); } for(i=0;isinger[k].ave) k=j; temp=singer[k]; singer[k]=singer[i]; singer[i]=temp; } printf("各位歌手按平均分进行排序从高到低如下:\n\n "); for(i=0;i