c++输入n个学生的成绩,请统计有多少个学生的成绩大于等于平均成绩c。
时间: 2024-11-15 13:34:24 浏览: 11
在 C++ 中,你可以通过以下几个步骤来实现这个功能:
1. 首先,创建一个数组或动态向量 `vector<int> scores` 来存储学生的成绩。
2. 然后,计算所有成绩的总和并除以学生数量 n 来得到平均成绩 `double average = accumulate(scores.begin(), scores.end(), 0.0) / n;`,这里使用了 `<algorithm>` 库中的 `accumulate` 函数。
3. 接下来,遍历成绩数组,对于每个成绩,检查它是否大于等于平均成绩 `average`,如果满足条件,计数器加一。
4. 最后,输出计数器的值即为成绩大于等于平均成绩的学生人数。
下面是一个简单的示例代码片段:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int n;
std::cout << "请输入学生数量: ";
std::cin >> n;
std::vector<int> scores(n);
std::cout << "请输入学生的成绩 (输入负数结束): " << std::endl;
for (int i = 0; i < n; ++i) {
std::cin >> scores[i];
if (scores[i] < 0) break; // 如果输入负数则停止输入
}
double average = 0.0;
for (const auto& score : scores) {
average += score;
}
average /= n;
int count = 0;
for (int score : scores) {
if (score >= average) {
count++;
}
}
std::cout << "成绩大于等于平均成绩的学生有: " << count << std::endl;
return 0;
}
```
阅读全文