【求助(高手看下)】一道作业题能编译,但是运行的时候答案是错的,求指正。

  题目:在歌星大奖赛中,有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;
}


 


版权声明:本文为lujiazhi0123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。