学生平均成绩排序分数 10 全屏浏览 切换布局 作者 张庆 单位 集美大学 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(n<50)个学生
时间: 2024-12-15 14:15:47 浏览: 18
为了对学生的信息按照平均成绩进行排序,我们可以创建一个自定义的数据结构,比如一个名为`Student`的结构体或者类,包含学号(id)、姓名(name)、三门课程的成绩(scores)以及计算平均成绩的函数。然后使用数组或者列表来存储这些学生对象,并依据平均成绩对它们进行排序。
以下是一个简单的Python示例:
```python
class Student:
def __init__(self, id, name, scores):
self.id = id
self.name = name
self.scores = scores
def average_score(self):
total = sum(scores) / len(scores)
return total
def sort_students_by_average(students, n):
students.sort(key=lambda x: x.average_score(), reverse=True)
return students[:n] # 返回前n名学生的列表
# 示例数据
students_data = [
Student(1, '张三', [85, 90, 92]),
Student(2, '李四', [78, 88, 95]),
# 更多学生...
]
# 输入学生数量
n = int(input("请输入要查询的学生数量:"))
sorted_students = sort_students_by_average(students_data, n)
for student in sorted_students:
print(f"学号:{student.id}, 姓名:{student.name}, 平均分:{student.average_score()}")
阅读全文