c++输入n个学生的学号、语文、数学和英语成绩(0≤成绩≤100)。输出所有平均分不及格的学生。保证每个学生的平均分都不相等。
时间: 2023-12-16 07:41:14 浏览: 331
好的,我可以帮你解决这个问题。你可以按照以下的示例代码来实现:
```cpp
#include <iostream>
#include <vector>
struct Student {
int id;
int chinese;
int math;
int english;
};
int main() {
int n;
std::cout << "请输入学生人数: ";
std::cin >> n;
// 创建学生对象的向量
std::vector<Student> students(n);
// 输入学生信息
for (int i = 0; i < n; ++i) {
std::cout << "请输入第" << i + 1 << "个学生的学号、语文、数学和英语成绩: ";
std::cin >> students[i].id >> students[i].chinese >> students[i].math >> students[i].english;
}
// 计算平均分并输出不及格学生
std::cout << "平均分不及格的学生有:" << std::endl;
for (const auto& student : students) {
double average = (student.chinese + student.math + student.english) / 3.0;
if (average < 60) {
std::cout << "学号: " << student.id << std::endl;
std::cout << "平均分: " << average << std::endl;
std::cout << std::endl;
}
}
return 0;
}
```
请注意,这只是一个简单的示例代码,没有对输入进行错误处理和完整性检查。在实际应用中,你可能需要添加更多的代码来处理异常情况和错误输入。希望对你有所帮助!如果你有任何问题,请随时提问。
阅读全文