用数组实现学生成绩管理:要求有输入、输出、计算、排序等代码
时间: 2023-06-27 15:01:57 浏览: 108
Java中使用数组完成学生成绩统计的多种实现代码清单.pdf
5星 · 资源好评率100%
以下是一个简单的学生成绩管理系统,使用了数组来存储学生信息和成绩,并实现了输入、输出、计算和排序等功能。请注意,这只是一个示例代码,仅供参考。
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const int MAX_NUM_STUDENTS = 100; // 最大学生人数
struct Student {
string name;
int score;
};
void input(Student students[], int num_students) {
for (int i = 0; i < num_students; i++) {
cout << "请输入第" << i + 1 << "个学生的姓名和成绩:" << endl;
cin >> students[i].name >> students[i].score;
}
}
void output(Student students[], int num_students) {
for (int i = 0; i < num_students; i++) {
cout << students[i].name << "\t" << students[i].score << endl;
}
}
float average_score(Student students[], int num_students) {
float sum = 0;
for (int i = 0; i < num_students; i++) {
sum += students[i].score;
}
return sum / num_students;
}
void sort_by_score(Student students[], int num_students) {
sort(students, students + num_students, [](Student a, Student b) {
return a.score > b.score;
});
}
int main() {
int num_students;
Student students[MAX_NUM_STUDENTS];
cout << "请输入学生人数:" << endl;
cin >> num_students;
input(students, num_students);
cout << "学生姓名\t成绩" << endl;
output(students, num_students);
cout << "平均成绩:" << average_score(students, num_students) << endl;
sort_by_score(students, num_students);
cout << "按成绩排序后的学生姓名和成绩:" << endl;
output(students, num_students);
return 0;
}
```
在上面的代码中,`Student` 结构体用于存储学生的信息,包括姓名和成绩。`input` 函数用于输入学生信息和成绩,`output` 函数用于输出学生信息和成绩,`average_score` 函数用于计算平均成绩,`sort_by_score` 函数用于按成绩排序。在 `main` 函数中,首先输入学生人数,然后调用 `input` 函数输入学生信息和成绩,输出学生信息和成绩,计算平均成绩,按成绩排序后输出学生信息和成绩。
阅读全文