输入学生姓名学号成绩,按从小到大的顺序输出
时间: 2023-08-29 19:04:30 浏览: 194
好的,以下是用C++语言编写的程序,实现输入学生信息并按成绩从小到大排序,然后输出学生姓名、学号和成绩的功能:
```C++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Student {
string name;
string id;
double grade;
};
bool cmp(Student a, Student b) {
return a.grade < b.grade;
}
int main() {
const int n = 5; // 学生数量
Student stu[n]; // 存储学生信息的数组
cout << "请依次输入" << n << "个学生的姓名、学号和成绩:\n";
for (int i = 0; i < n; i++) {
cin >> stu[i].name >> stu[i].id >> stu[i].grade;
}
sort(stu, stu + n, cmp); // 使用sort函数进行排序
cout << "按成绩从小到大排序结果为:\n";
for (int i = 0; i < n; i++) {
cout << stu[i].name << " " << stu[i].id << " " << stu[i].grade << "\n";
}
return 0;
}
```
运行结果如下:
```
请依次输入5个学生的姓名、学号和成绩:
Tom 001 90
Jerry 002 85
Alice 003 95
Bob 004 80
Lucy 005 88
按成绩从小到大排序结果为:
Bob 004 80
Jerry 002 85
Lucy 005 88
Tom 001 90
Alice 003 95
```
以上程序中,使用了C++ STL中的sort函数来对学生信息按成绩从小到大排序。sort函数需要传入三个参数,第一个参数是要排序的数组的起始地址,第二个参数是要排序的数组的结束地址(不包括在排序范围内),第三个参数是一个比较函数,用于指定排序的方式。在本程序中,cmp函数就是用来指定按成绩从小到大排序的方式的。最终输出的是排序完成后的结果,包括学生姓名、学号和成绩。
阅读全文