有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩
时间: 2024-08-13 07:08:58 浏览: 77
在编程中,你可以使用一个结构体或类来存储每个学生的相关信息,然后使用数组或动态容器(如C++中的vector)来存储所有学生的信息。以下是一个简单的C++代码示例,展示如何实现这个功能:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
// 定义学生类
class Student {
public:
int id;
char gender;
std::string name;
double scores; // 四门课的成绩
// 计算平均成绩
double average_score() {
double total = 0;
for (double score : scores) {
total += score;
}
return total / 4;
}
};
int main() {
int N;
std::cout << "请输入学生数量: ";
std::cin >> N;
// 存储学生信息的vector
std::vector<Student> students;
for (int i = 0; i < N; i++) {
Student temp;
std::cout << "请输入学生" << i + 1 << "的详细信息(学号, 性别, 姓名, 课程成绩): " << std::endl;
std::cin >> temp.id >> temp.gender >> temp.name;
for (int j = 0; j < 4; j++) {
std::cin >> temp.scores[j];
}
students.push_back(temp);
}
// 找出平均成绩最高的学生
auto max_average = *std::min_element(students.begin(), students.end(), [](const Student& a, const Student& b) {
return a.average_score() < b.average_score();
});
std::cout << "平均成绩最高的学生信息: " << std::endl;
std::cout << "学号: " << max_average.id << std::endl;
std::cout << "性别: " << max_average.gender << std::endl;
std::cout << "姓名: " << max_average.name << std::endl;
std::cout << "平均成绩: " << max_average.average_score() << std::endl;
return 0;
}
```
阅读全文