在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1;老师给这个组的评分记为 G2。该组得分为 (G1+G2)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。
#include<iostream>
#include<vector>
using namespace std;
int main ()
{
int n,m,teacher;
cin>>n>>m;
vector<vector<int> >a(n);
for(int i=0;i<n;i++)
{
a[i].resize(n);
}
for(int i=0;i<n;i++)
{
int max=0,min=m,max1=n-1,min1=n-1,student=0,num=0;
for(int j=0;j<n;j++)
{
cin>>a[i][j];
if(j!=0&&a[i][j]>=0&&a[i][j]<=m)
{
if(a[i][j]>=max)
{
max1=j;
max=a[i][j];
}
if(a[i][j]<=min)
{
min1=j;
min=a[i][j];
}
}
}
for(int j=1;j<n;j++)
{
if(j!=max1&&j!=min1&&a[i][j]>=0&&a[i][j]<=m)
{
student+=a[i][j];
num++;
}
}
cout<<(int)((student*1.0/num+a[i][0])/2+0.5);
if(i!=n-1)
cout<<endl;
}
return 0;
}