一个班进行了一次考试,现要将3个学生的成绩输入电脑,并按要求输出
时间: 2024-12-17 10:29:41 浏览: 1
当然,为了帮您完成这个需求,我们可以创建一个简单的C++程序来存储和排序学生成绩。首先,我们需要定义一个学生结构体(struct),包含姓名和分数两个字段。然后我们可以通过cin从键盘读取学生信息,使用`std::vector`来存储所有学生的数据,因为这样方便动态添加和排序。
这是一个基本的示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <algorithm> // 使用sort函数
// 定义学生结构体
struct Student {
std::string name;
int score;
};
int main() {
std::vector<Student> students; // 存储学生的集合
// 输入3名学生的成绩
for (int i = 0; i < 3; ++i) {
Student s;
std::cout << "请输入第" << i+1 << "位同学的名字和分数:\n";
std::cin >> s.name >> s.score;
students.push_back(s);
}
// 按分数排序
std::sort(students.begin(), students.end(), [](const Student& a, const Student& b) {
return a.score > b.score; // 降序排列
});
// 输出按成绩排序后的学生列表
std::cout << "\n按成绩从高到低排序的学生名单:\n";
for (const auto& student : students) {
std::cout << "名字:" << student.name << ", 分数:" << student.score << "\n";
}
return 0;
}
```
在这个程序中,我们首先创建了一个空的Student向量,然后循环三次获取每个学生的名字和分数并加入向量。接着使用`std::sort`对向量内的学生按照分数进行降序排序,最后遍历排序后的向量打印出每位学生的信息。
阅读全文