在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均

来源:互联网 发布:双茎头 刘诗诗 知乎 编辑:程序博客网 时间:2024/04/30 04:29

#include <iostream>
using namespace std;
int main()
{int a[10],f[10],i,k,m,n,b,c,y,p,q,d,average,h,g;
cout<<"输入十位评委按顺序的打分:";
for(i=0;i<10;i++)
{cin>>a[i];
}                              
for(b=0;b<10;b++)
{while(a[b]>100||a[b]<0)
{cout<<"选手得分超出规定范围,请第"<<b+1<<"位评委重新打分!"<<endl;
cin>>a[b];
}
}
m=a[0];n=a[0];
for(k=0,c=0;k<9;k++)
{
 if(m<=a[k+1])  m=a[k+1];
 if(n>=a[k+1])  n=a[k+1];
 c=c+a[k];
}
c=c+a[9];
y=c-m-n;

average=y/8;
for(p=0;p<10;p++)
{f[p]=a[p]-average;
if(f[p]<0) {f[p]=-f[p];}
}
q=f[0];d=f[0];
for(k=0,h=1;k<9;k++)
{
 if(q<=f[k+1])  q=f[k+1] ,h=k+2;
 if(d>=f[k+1])  d=f[k+1],g=k+2;
}
cout<<"选手的平均分是"<<average<<endl;
cout<<"最公平评委是第"<<g<<"位评委。"<<endl;
cout<<"最不公平评委是第"<<h<<"位评委。"<<endl;
return 0;


}