/*有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分,去掉一个最高分,去掉一个最低分,剩下分数的平均值作为每位选手最后的成绩。要求:(1)采用结构体定义每个选手的参赛编号,姓名以及十个裁判打出的分数;(2)从键盘输入每个选手的相关信息:参赛编号,姓名和十个得分;(3)计算每位选手的最后得分,并按分数由高到低排序;(4)查询功能:输入参赛选手的编号或姓名,便可输出该选手的得分以及排名;以上功能采用菜单操作方式,即从键盘输入1到3这三个数,分别完成以上(2)到(4)的功能*/#include<>#include<>#include<>#defineN10#pete{ charnum[10];//编号 charname[10];//姓名 floatscore[M];//得分 floataver;//最后得分 intno;//[N];voidInput(){ inti,j; for(i=0;i<N;i++){ printf("第%d个选手的编号:",i+1); scanf("%s",&com[i].num); printf("姓名:"); scanf("%s",&com[i].name); for(j=0;j<M;j++){ printf("第%d个裁判对该生打出的分数:",j+1); do{ scanf("%f",&com[i].score[j]); }[i].score[j]<0); } } return;}voidscan(){ inti,j; floatmax,min,sum; competetemp; for(i=0;i<N;i++){ sum=0;[i].score[0];max=0; for(j=0;j<M;j++){ sum+=com[i].score[j]; if([i].score[j]) [i].score[j]; if([i].score[j]) [i].score[j]; } printf("max=%.2f\n",max); printf("min=%.2f\n",min); com[i].aver=(sum-max-min)/(M-2); } for(i=0;i<N-1;i++){ for(j=i+1;j<N;j++){ [i].[j].aver){ strcpy(temp.[i].num); [i].[j].num); [j].num,); strcpy(temp.[i].name); [i].[j].name); [j].name,); temp.[i].aver; com[i].[j].aver; com[j].aver=; } } } for(i=0;i<N;i++) com[i].no=i+1; printf("编号\t姓名\t得分\n"); for(i=0;i<N;i++) printf("%s\t%s\t%.2f\n",com[i].[i].[i].aver); return;}voidsearch(){ charnum[10],name[10];intn,i; do{ printf("\n"); scanf("%d",&n); }while(n!=1&&n!=2); if(n==1
歌唱比赛计分 来自淘豆网m.daumloan.com转载请标明出处.