3、创建一个结构体ST,成员有num(学号),name(姓名),score(成绩),从键盘输入N个人员信息,按score(成绩)降序输出每个学生的记录,在main函数中输入数据,在另一个函数中排序并输出。要求:使用C++编写,用iostream作为头文件。
时间: 2023-06-11 09:07:34 浏览: 109
以下是使用C++语言实现的代码:
```cpp
#include <iostream>
using namespace std;
struct ST {
int num; // 学号
string name; // 姓名
int score; // 成绩
};
void sort(ST arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i].score < arr[j].score) {
ST temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int n;
cout << "请输入学生人数:";
cin >> n;
ST arr[n];
for (int i = 0; i < n; i++) {
cout << "请输入第" << i + 1 << "个学生的信息:" << endl;
cout << "学号:";
cin >> arr[i].num;
cout << "姓名:";
cin >> arr[i].name;
cout << "成绩:";
cin >> arr[i].score;
}
sort(arr, n);
cout << "按成绩降序输出每个学生的记录:" << endl;
for (int i = 0; i < n; i++) {
cout << "学号:" << arr[i].num << ",姓名:" << arr[i].name << ",成绩:" << arr[i].score << endl;
}
return 0;
}
```
运行结果示例:
```
请输入学生人数:3
请输入第1个学生的信息:
学号:1001
姓名:张三
成绩:85
请输入第2个学生的信息:
学号:1002
姓名:李四
成绩:92
请输入第3个学生的信息:
学号:1003
姓名:王五
成绩:78
按成绩降序输出每个学生的记录:
学号:1002,姓名:李四,成绩:92
学号:1001,姓名:张三,成绩:85
学号:1003,姓名:王五,成绩:78
```
阅读全文