#include<iostream>
#include<vector>
using namespace std;
vector<int> stulist;
int main()
{
int j,n,m,i,maxn=0,minn=1000,sum,grade,peoplenum,feifa;
double t;
int teachergrade,now;
cin>>n>>m;
for(i=0;i<n;i++)
{
cin>>teachergrade;
stulist.clear();//相关变量初始化
sum=0;
peoplenum=0;
feifa=0;
maxn=0;
minn=1000;
for(j=0;j<n-1;j++)
{
cin>>now;
if(now>m||now<0)//非法数据置为-1,计算平均数时分母要减一
{
now=-1;
feifa++;
}
stulist.push_back(now);
if(now>maxn&&now!=-1)//更新最大值
{maxn=now;
}
if(now<minn&&now!=-1)//更新最小值
{minn=now;
}
}
for(j=0;j<n-1;j++)//去除一个最大数,计算平均数分母要减一
{
if(stulist[j]==maxn)
{
stulist[j]=0;
break;
}
}
for(j=0;j<n-1;j++)//去除一个最小数,计算平均数分母要减一
{
if(stulist[j]==minn)
{
stulist[j]=0;
break;
}
}
for(j=0;j<n-1;j++)//计算剩余合法数据之和
{
if(stulist[j]!=-1)
{
sum=sum+stulist[j];
}
}
t=sum/(n-feifa-3);//计算平均数,总人数减去非法数据减最大数,减最小数,减老师分数
t=t+teachergrade;//平均数加老师分数的总分数
t=t/2;//除以2
grade=int(t+0.5);//四舍五入
cout<<grade<<endl;//输出
}
return 0;
}
pat乙1077 互评成绩计算
最新推荐文章于 2022-12-09 20:13:45 发布