这道题目要求编写程序,输入 n(n≤10),输入 n 个学生的成绩表信息(包括学号、姓名、三门课的成绩和平均成绩),以平均成绩为关键字从高到低输出这些学生的成绩表。
时间: 2024-05-10 09:19:22 浏览: 69
以下是 Python 代码实现:
```python
n = int(input("请输入学生人数: "))
students = []
for i in range(n):
# 输入学生信息
sid = input("请输入学生编号: ")
name = input("请输入学生姓名: ")
score1, score2, score3 = map(int, input("请输入三门课的成绩,用空格分隔: ").split())
avg_score = (score1 + score2 + score3) / 3.0
# 将学生信息添加到列表中
students.append((sid, name, score1, score2, score3, avg_score))
# 按平均成绩从高到低排序
students.sort(key=lambda x: x[5], reverse=True)
# 输出学生信息
for student in students:
print("学号: {}, 姓名: {}, 三门课成绩: {}, {}, {}, 平均成绩: {:.2f}".format(student[0], student[1], student[2], student[3], student[4], student[5]))
```
运行结果示例:
```
请输入学生人数: 3
请输入学生编号: 001
请输入学生姓名: 张三
请输入三门课的成绩,用空格分隔: 80 90 85
请输入学生编号: 002
请输入学生姓名: 李四
请输入三门课的成绩,用空格分隔: 70 75 80
请输入学生编号: 003
请输入学生姓名: 王五
请输入三门课的成绩,用空格分隔: 90 85 95
学号: 003, 姓名: 王五, 三门课成绩: 90, 85, 95, 平均成绩: 90.00
学号: 001, 姓名: 张三, 三门课成绩: 80, 90, 85, 平均成绩: 85.00
学号: 002, 姓名: 李四, 三门课成绩: 70, 75, 80, 平均成绩: 75.00
```
阅读全文