青年歌手大奖赛_评委会打分
3 99 98 97 4 100 99 98 97
98.00 98.50
my code:
#include<iostream>
#include<algorithm>
//#include<cstdio>
using namespace std;
int main(){
int n,i;
double grade;
while(cin>>n){
int *a=new int[n]; //如果写成 int a[n]的话,虽然在Code::Blocks能运行出来,但是杭电oj在编译的时候无法确定n的值,要变长请用new,记得运行完的时候,delete回收。
double sum=0;
for(i=0;i<n;i++){
cin>>grade;
a[i]=grade;
}
std::sort(&a[0],&a[n]);
/* for(i=0;i<n;i++){
cout<<a[i]<<' '<<endl;
}*/
for(i=1;i<n-1;i++){
sum+=a[i];
}
cout.precision(2);
cout<<fixed<<sum/(n-2)<<endl;
//printf("%.2lf\n",sum);
delete[]a;
}
return 0;
}
以下代码转载:电子科技大学Judge Online 2000->2099题解题报告
浙江工商大学 软件0601 redraiment
#include<stdio.h>
int main(){
int i,n;
double x,y,max,min;
while(~scanf("%d",&n)){
scanf("%lf",&x);
min=max=x;
for(i=1;i<n;i++){
scanf("%lf",&y);
if(y>max) max=y;
if(y<min) min=y;
x+=y;
}
printf("%.2lf\n",(x-min-max)/(n-2));
}
return 0;
}