以下是一个简单的C++程序示例,它接收10个学生的姓名和成绩,然后按成绩进行排序(这里以从高到低的顺序为例),最后输出排序后的结果:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
// 定义一个学生结构体来存储姓名和成绩
struct Student {
std::string name;
int score;
};
// 成绩排序的比较函数
bool compare(Student a, Student b) {
// 降序排列
return a.score > b.score;
}
int main() {
// 创建一个向量来存储学生数据
std::vector<Student> students;
// 输入学生信息
for (int i = 0; i < 10; ++i) {
Student student;
std::cout << "请输入学生 #" << (i + 1) << " 的姓名: ";
std::cin >> student.name;
std::cout << "请输入学生 #" << (i + 1) << " 的成绩: ";
std::cin >> student.score;
students.push_back(student);
}
// 对学生数据按成绩进行排序
std::sort(students.begin(), students.end(), compare);
// 输出排序后的学生信息
std::cout << "\n学生的成绩从高到低排序结果如下:" << std::endl;
for (const auto& student : students) {
std::cout << "姓名: " << student.name << ", 成绩: " << student.score << std::endl;
}
return 0;
}
运行此程序时,它会要求用户输入10名学生的姓名和成绩。输入完成后,程序将使用std::sort
函数和自定义的compare
比较函数对学生数组进行排序,并按成绩从高到低的顺序输出排序后的结果。
请注意,这段代码使用了标准模板库(STL)的vector
和algorithm
头文件。在实际应用中,你可能需要添加一些错误检查和数据验证,以确保输入的数据是有效和合理的。