c++描述 小理是个热爱生活的孩子。最近他在学校组织了校园歌手大赛,并且让全校师生为歌手评分(分数的范围为 1 - 100分),但由于投票系统太过于落后,小理在最后的计票中发现了如下几种票: 分数大于 100 分数小于 1 一个最高分 一个最低分 最终的计票要将上述几种票去除后算出平均值,请你求出最后的分数。 输入描述 一行一个正整数 N,表示票的总数。 一行 N 个整数,表示每张票上的分数,中间用空格分隔。 输出描述 输出最后的分数(保留两位小数)。 用例输入 1 8 131 -12 60 20 2 -999 100000 100 用例输出 1 40.00
时间: 2024-03-25 08:40:42 浏览: 38
下面是 C++ 代码实现:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> scores(n);
for (int i = 0; i < n; i++) {
cin >> scores[i];
}
// 过滤掉不合法的分数
scores.erase(remove_if(scores.begin(), scores.end(), [](int score) {
return score < 1 || score > 100;
}), scores.end());
if (scores.empty()) {
// 所有的分数都不合法
cout << "0.00" << endl;
} else {
// 计算平均分数
int total_score = accumulate(scores.begin(), scores.end(), 0);
double avg_score = static_cast<double>(total_score) / scores.size();
printf("%.2f\n", avg_score);
}
return 0;
}
```
输入样例:
```
8
131 -12 60 20 2 -999 100000 100
```
输出样例:
```
40.00
```
阅读全文