题目:在歌星大奖赛中,有10个评委为参赛选手打分,分数为1到100分。选手的得分为:去掉一个最高分和一个最低分后其余8个分数的平均值,并且找出最公平和最不公平的评委(所打分数离平均分越近,越公平)请编写一个评分程序实现。
我写的代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[11];
int i,j,m,t,num1=1,num2=1;
float n,sum=0;
for(i=1;i<11;i++)
cin>>a[i];
for(j=1;j<=9;j++)
{for(i=1;i<=10-j;i++)
{
if(a[i]>a[i+1])
{m=a[i];
a[i]=a[i+1];
a[i+1]=m;}
}
}
for(i=2;i<=9;i++)
{sum=sum+a[i];}
n=sum/8;
cout<<"去掉最高分:"<<a[10]<<" "<<"去掉最低分:"<<a[1]<<endl;
cout<<"选手最后得分为:"<<n<<endl;
for(i=1;i<=9;i++)
{
if(fabs(a[i]-n)<fabs(a[i+1]-n))
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
num1=i+1;}
for(i=1;i<=9;i++)
{
if(fabs(a[i]-n)>fabs(a[i+1]-n))
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
num2=i+1;}
}
}
cout<<"最公平的是"<<num1<<"号评委"<<" "<<"最不公平的是"<<num2<<"号评委"<<endl;
return 0;
}