#include <stdio.h>
#include<string.h>
void main()
{
int i,j,m,n;
float num,xgrade[100],max,min,pgrade[100],pdis[100];
char str[10],xname[100][10],pname[100][10];
printf("请输入评委人数:");
scanf("%d",&m);
printf(" 请分别输入评委姓名:");
for(i=0;i<m;i++)
{
scanf("%s",&pname[i]);//评委姓名
pgrade[i]=0;//评委给的分
pdis[i]=0;//评委给分和最后结果的差距
}
printf(" 请输入选手人数:");
scanf("%d",&n);
printf(" 请分别输入选手姓名:");
for(i=0;i<n;i++)
{
scanf("%s",&xname[i]);//选手姓名
xgrade[i]=0;//选手成绩
}
for(i=0;i<n;i++)
{
max=0;min=10;//评委给选手的最大最小成绩
printf(" 请给选手%s 打分!",xname[i]);
for(j=0;j<m;j++)
{
printf("%s 老师给的分数为:",pname[j]);
scanf("%f",&pgrade[j]);
xgrade[i]+=pgrade[j];//加到该选手的总分数中
if(max<pgrade[j])
max=pgrade[j];
if(min>pgrade[j])
min=pgrade[j];
}
xgrade[i]=(xgrade[i]-max-min)/(m-2);//最后成绩为总成绩-最高分-最低分,然后平均
for(j=0;j<m;j++)//算出每个评委本次评分和最终成绩的差,加到 pdis 中保存起来
{
pdis[j]+=pgrade[j]>xgrade[i]?(pgrade[j]-xgrade[i]):(xgrade[i]-pgrade[j]);
}
}
评论2