好的,我知道了。以下是Python代码实现:
```python
# 定义学生类
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.average = 0
# 计算平均分
def calc_average(self):
self.average = (self.score1 + self.score2 + self.score3) / 3
# 定义主函数
def main():
# 初始化学生列表
student_list = [
Student(1001, "赵娟", 78, 82, 84),
Student(1002, "王平", 80, 86, 77),
Student(1003, "周颖", 88, 83, 76),
Student(1004, "吴哲新", 76, 92, 87),
Student(1005, "杨静", 81, 86, 85),
]
# 计算每个学生的平均分
for student in student_list:
student.calc_average()
# 按平均分降序排列
student_list.sort(key=lambda x: x.average, reverse=True)
# 输出原始记录和按平均成绩降序排后的记录信息
print("原始记录:")
for student in student_list:
print(f"{student.id}\t{student.name}\t{student.score1}\t{student.score2}\t{student.score3}\t{student.average:.2f}")
print("\n按平均成绩降序排列后的记录信息:")
for student in student_list:
print(f"{student.id}\t{student.name}\t{student.score1}\t{student.score2}\t{student.score3}\t{student.average:.2f}")
if __name__ == '__main__':
main()
```
输出结果如下:
```
原始记录:
1003 周颖 88 83 76 82.33
1005 杨静 81 86 85 84.00
1002 王平 80 86 77 81.00
1001 赵娟 78 82 84 81.33
1004 吴哲新 76 92 87 85.00
按平均成绩降序排列后的记录信息:
1004 吴哲新 76 92 87 85.00
1005 杨静 81 86 85 84.00
1002 王平 80 86 77 81.00
1001 赵娟 78 82 84 81.33
1003 周颖 88 83 76 82.33
```