# include & ltstring.h & gt
void main()
{
int i,j,m,n;
浮點數,xgrade[100],max,min,pgrade[100],pdis[100];
char str[10],xname[100][10],pname[100][10];
Printf("請輸入評委人數:");
scanf("%d ",& ampm);
printf(" \ n請分別輸入評委姓名:\ n ");
for(I = 0;我& ltm;i++)
{
scanf("%s ",& amppname[I]);//法官姓名
p grade[I]= 0;//評委給出的分數
pdis[I]= 0;//評委給出的分數與最終結果的差距
}
printf(" \ n請輸入玩家人數:");
scanf("%d ",& ampn);
printf(" \ n請單獨輸入玩家姓名:\ n ");
for(I = 0;我& ltn;i++)
{
scanf("%s ",& ampxname[I]);//玩家的名字
x grade[I]= 0;//玩家的表現
}
for(I = 0;我& ltn;i++)
{
max = 0;min = 10;//評委給選手的最高分和最低分。
printf(" \ n請給玩家%s評分!",xname[I]);
for(j = 0;j & ltm;j++)
{
Printf("\n%s老師的分數是",pname[j]);
scanf("%f ",& ampp grade[j]);
x grade[I]+= p grade[j];//加到玩家的總分上。
if(max & lt;等級[j])
max = p grade[j];
if(min & gt;等級[j])
min = p grade[j];
}
x grade[I]=(x grade[I]-max-min)/(m-2);//最後的分數是總分-最高分-最低分,然後取平均值。
for(j = 0;j & ltm;J++)//計算每個評委的得分與最終得分的差值,保存在pdis中。
{
pdis[j]+= p grade[j]& gt;xgrade[i]?(p grade[j]-x grade[I]):(x grade[I]-p grade[j]);
}
}
for(I = 0;我& ltn-1;i++)
for(j = 0;j & ltn-1-I;j++)
if(x grade[j]& lt;xgrade[j+1])
{
strcpy(str,xname[j]);
strcpy(xname[j],xname[j+1]);
strcpy(xname[j+1],str);
num = x grade[j];
x grade[j]= x grade[j+1];
x grade[j+1]= num;
}
printf(" \ n球員排名為:\ n ");
Printf("玩家姓名\t分數\ n ");
for(I = 0;我& ltn;i++)
printf("%s\t%f\n ",xname[i],x grade[I]);
for(I = 0;我& ltm-1;i++)
for(j = 0;j & ltm-1-I;j++)
if(pdis[j]& gt;pdis[j+1])
{
strcpy(str,pname[j]);
strcpy(pname[j],pname[j+1]);
strcpy(pname[j+1],str);
num = pdis[j];
pdis[j]= pdis[j+1];
pdis[j+1]= num;
}
printf(" \ n評委排名是:\ n ");
Printf("法官姓名\ t區別\ n ");
for(I = 0;我& ltm;i++)
printf("%s\t%f\n ",pname[i],pdis[I]);
}
vae.la