/*11、键盘输入7个评委对7个选手的打分,算出平均分,
要求去掉最低分,最高分,输出成绩排行榜。 */
#include <stdio.h>
#define N 4 //鉴于七个选手的压力,测试数据为四个选手与4个评委
#define M 4.0
int main (){
int i,j;
int gread[N][N]={0};
printf("输入%d个选手分数,每个选手%d个分数。\n",N,N);
for(i=0;i<N;i++){
printf("请输入第%d个选手分数:",i+1);
for(j=0;j<N;j++){
scanf("%d",&gread[i][j]);
}
}
printf("=====输出=====\n");
for(i=0;i<N;i++){
printf("第%d个选手分数是",i+1);
for(j=0;j<N;j++){
printf("%d ",gread[i][j]);
}
printf("\n");
}
//排序
for(i=0;i<N;i++){
for(j=0;j<N;j++){
int k=0;
for(k=j+1;k<N;k++){
if(gread[i][j]<=gread[i][k]){
int temp=gread[i][j];
gread[i][j]=gread[i][k];
gread[i][k]=temp;
}
}
}
}
printf("====排序后输出====\n");
for(i=0;i<N;i++){
printf("排序后第%d个选手分数:",i+1);
for(j=0;j<N;j++){
printf("%d ",gread[i][j]);
}
printf("\n");
}
printf("\n=====平均分=====\n");
int sum[N]={0};
float ave[N]={0};
for(i=0;i<N;i++){
for(j=1;j<N-1;j++){
sum[i] += gread[i][j];
}
ave[i]=sum[i]/(M-2.0);
}
for(i=0;i<N;i++){
printf("第%d个选手平均分数是:",i+1);
printf("%.2f\n",ave[i]);
}
printf("\n");
printf("\n====排名====\n");
for(i=0;i<N;i++){
for(j=0;j<N;j++)
if(ave[i]>ave[j]){int tempi=ave[i];ave[i]=ave[j];ave[j]=tempi;}
}
for(i=0;i<N;i++)
printf("第%d名的平均分是%.2f分\n",i+1,ave[i]);
printf("\n");
return 0;
}