题目描述:
代码:
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
int n1=0,n2=0,special=0;
int num[101];
float flag[101];
scanf("%d %d",&n1,&n2);
//读入数据
//一行数据一处理
for(int i=0;i<n1;i++)
{
int special=0;
for(int j=0;j<n1;j++)
{
scanf("%d",&num[j]);
if(num[j]<0 || num[j]>n2)
{
num[j]=0;
special++;//设置special去确定最低分的位置 因为我们把坏值
都变为了0,所有0会占位置
}
}
sort(num+1,num+n1);
num[1+special]=0;//去掉一个最高分 去掉一个最低分
num[n1-1]=0;
// for(int i=0;i<n1;i++)
// {
// printf("%d\n",num[i]);
// }
//
float sum=0,ave=0;//求学生评分的平均值
for(int j=1;j<n1;j++)
{
sum+=num[j];
}
ave=(float)(sum/(n1-3-special)+num[0])/2;
flag[i]=ave;
}
for(int i=0;i<n1;i++)
{
cout<<round(flag[i])<<endl;
}
}