1. 程式人生 > >在歌星大獎賽中,有10個評委為參賽的選手打分,分數為1~100分。選手最後得分為:去掉一個最高分和一個最低分後其餘8個分數的平均值。同時對評委評分進行裁判,即在10個評委中找出最公平(即評分最接返平均

在歌星大獎賽中,有10個評委為參賽的選手打分,分數為1~100分。選手最後得分為:去掉一個最高分和一個最低分後其餘8個分數的平均值。同時對評委評分進行裁判,即在10個評委中找出最公平(即評分最接返平均

#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;


}