代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, M;
scanf("%d %d", &N, &M);
for(int i=0; i<N; i++) {
vector<int> v;
int sum2;
scanf("%d", &sum2);
for(int j=0; j<N-1; j++) {
int t;
scanf("%d", &t);
if(t>=0 && t<=M) {
v.push_back(t);
}
}
sort(v.begin(), v.end());
double sum = 0;
int count = 0;
for(int j=1; j<v.size()-1; j++){
sum += v.at(j);
count++;
}
double ans = (sum/count+sum2)/2.0;
int re = (int)(ans+0.5);
printf("%d\n", re);
}
return 0;
}
注解
1、排序,按照题目意思,先计算学生打分的总分,去掉最高分最低分。
2、将学生和老师的得分累计,按题目意思计算总分。
3、四舍五入的方法。