题目描述 帮老师统计一个班级 NN (10 \lt N \lt 10010<N<100)个同学的考试成绩(成绩不可能全一样)中排名第二高的成绩是多少? 输入 第 11 行有一个整数 nn(10 \lt n \lt 10010<n<100)。 第 22 行有 nn 个整数,用空格隔开。 输出 输出排名第 22 高的成绩。 样例 输入复制 15 98 98 56 88 98 99 66 87 67 89 54 77 66 89 60 输出复制 98
时间: 2024-04-18 07:29:44 浏览: 89
定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩,输出高于平均成绩的序号。
根据你提供的输入和输出样例,我已经明白了你的需求。下面是一个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];
}
sort(scores.begin(), scores.end(), greater<int>());
int secondHighestScore = scores[1];
cout << secondHighestScore << endl;
return 0;
}
```
你可以将以上代码复制到一个.cpp文件中,并通过编译运行来获取结果。程序首先读取一个整数n,表示学生人数。然后读取n个整数作为学生的成绩,并将这些成绩存储在vector中。接下来,使用sort函数对成绩进行降序排序。最后,输出第二高的成绩。
希望这可以帮助到你!如果你还有其他问题,请随时提问。
阅读全文