自定义一个C++函数,从键盘上输入若干个学生的成绩,统计出平均成绩,并输出低于平均成绩的学生成绩。输入负数结束。
时间: 2024-10-10 19:11:07 浏览: 102
在C++中,你可以创建一个名为`calculateAverageAndFilter()`的函数来实现这个功能。以下是具体的实现步骤:
```cpp
#include <iostream>
#include <vector> // 引入vector用于存储成绩
using namespace std;
double calculateAverage(const vector<double>& scores) {
if (scores.empty()) return 0;
double sum = 0;
for (const auto& score : scores) {
sum += score;
}
return sum / scores.size();
}
void inputScores(vector<double>& scores) {
double score;
while (cin >> score && score >= 0) { // 只接受非负数
scores.push_back(score);
}
}
void displayBelowAverage(const vector<double>& scores, double average) {
cout << "低于平均成绩的学生有:\n";
for (const auto& score : scores) {
if (score < average) {
cout << score << "\n";
}
}
}
int main() {
vector<double> studentScores;
double average;
inputScores(studentScores); // 输入学生成绩
average = calculateAverage(studentScores); // 计算平均成绩
displayBelowAverage(studentScores, average); // 输出低于平均成绩的学生分数
return 0;
}
```
在这个代码里,我们首先定义了输入成绩、计算平均值以及筛选并打印低于平均分的成绩的函数。然后在`main`函数中调用这些函数完成整个流程。
阅读全文