c++输入输入若干个学生成绩求平均成绩
时间: 2024-10-10 11:11:14 浏览: 239
在C++中,你可以通过循环结构(如`for`或`while`)来输入多个学生的成绩,并计算它们的平均值。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int numStudents;
double totalScore = 0; // 初始化总成绩
cout << "请输入学生人数:";
cin >> numStudents;
for (int i = 1; i <= numStudents; i++) { // 循环遍历每个学生
double score;
cout << "请输入第" << i << "位学生的成绩:";
cin >> score;
totalScore += score; // 累加成绩
}
double averageScore = totalScore / numStudents; // 计算平均成绩
cout << "所有学生的平均成绩是:" << averageScore << endl;
return 0;
}
```
相关问题
自定义一个C++函数,从键盘上输入若干个学生的成绩,统计出平均成绩,并输出低于平均成绩的学生成绩。输入负数结束。
在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`函数中调用这些函数完成整个流程。
自定义一个C++程序,从键盘上输入若干个学生的成绩,统计出平均成绩,并输出低于平均成绩的学生成绩。输入负数结束。
在C++中,你可以创建一个简单的控制台程序来完成这个任务。首先,你需要定义一个结构体或者类来存储学生的信息,包括姓名和成绩。这里我们使用一个结构体`Student`作为示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct Student {
string name;
double score;
};
int main() {
double sum = 0, avg;
vector<Student> students;
// 循环读取学生成绩,直到输入负数为止
while (true) {
cout << "请输入学生姓名和成绩(输入-1退出):" << endl;
string name;
cin >> name >> students.back().score;
if (students.back().score == -1)
break; // 输入-1结束循环
// 累加分数
sum += students.back().score;
}
// 计算平均分
if (!students.empty()) {
avg = sum / students.size();
cout << "平均成绩为: " << avg << endl;
} else {
cout << "未输入任何成绩" << endl;
}
// 输出低于平均分的成绩
cout << "低于平均成绩的学生有:" << endl;
for (const auto& student : students) {
if (student.score < avg)
cout << student.name << ": " << student.score << endl;
}
return 0;
}
```
在这个程序中,用户输入每个学生的姓名和成绩,当输入-1时,程序停止收集数据并开始计算平均分。然后,它会检查每个学生的成绩是否低于平均分,并打印出来。
阅读全文