题解
2025-11-27 21:30:20
发布于:湖南
97阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<long long> scores(n); // 用long long防止大数溢出
for (int i = 0; i < n; ++i) {
cin >> scores[i];
}
// 找到最小值和最大值
long long min_val = *min_element(scores.begin(), scores.end());
long long max_val = *max_element(scores.begin(), scores.end());
long long sum = 0;
bool min_removed = false; // 标记是否已移除一个最小值
bool max_removed = false; // 标记是否已移除一个最大值
for (long long s : scores) {
if (!min_removed && s == min_val) {
min_removed = true;
continue;
}
if (!max_removed && s == max_val) {
max_removed = true;
continue;
}
sum += s;
}
double avg = static_cast<double>(sum) / (n - 2);
cout << fixed << setprecision(2) << avg << endl;
return 0;
}
这里空空如也




有帮助,赞一个