在codeblocks自定义一个C++函数,从键盘上输入若干个学生的成绩,统计出平均成绩,并输出低于平均成绩的学生成绩。输入负数结束。
时间: 2024-10-16 07:22:23 浏览: 44
在Code::Blocks 中自定义一个 C++ 函数来完成这个任务,可以按照以下步骤操作:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 定义一个计算平均分的辅助函数
double calculateAverage(const vector<int>& scores) {
double sum = 0;
for (int score : scores) {
if (score >= 0) {
sum += score;
} else {
break; // 如果遇到负数,跳出循环
}
}
return sum / scores.size();
}
// 主函数,获取用户输入并处理
void processScores() {
vector<int> studentScores;
double averageScore;
cout << "请输入学生的成绩(输入负数结束):" << endl;
while (true) {
int input;
cin >> input;
if (input < 0) {
break; // 输入负数则停止输入
}
studentScores.push_back(input);
}
averageScore = calculateAverage(studentScores);
cout << "平均成绩是:" << averageScore << endl;
// 输出低于平均成绩的学生分数
cout << "低于平均成绩的学生分数有:";
for (const int& score : studentScores) {
if (score < averageScore) {
cout << score << " ";
}
}
cout << endl;
}
int main() {
processScores(); // 调用处理函数
return 0;
}
```
在这个程序里,我们首先创建了一个 `calculateAverage` 函数,用于计算非负成绩的平均值。然后在 `processScores` 函数中,通过一个 while 循环不断读取用户的输入,存储在 `studentScores` 向量中。当输入负数时,跳出循环并计算平均成绩。最后,遍历向量找出低于平均分的成绩并输出。
阅读全文