有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求输出各学生三门课程的平均成绩,然后按照平均成绩由高到低输出个学生的信息(包括学号、姓名、3门课程成绩、平均分)
时间: 2023-05-28 09:05:22 浏览: 257
数据结构-学生数据结构成绩管理系统.doc
以下是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.avg_score = (score1 + score2 + score3) / 3
# 输入10个学生的数据
students = []
for i in range(10):
id = input("请输入第{}个学生的学号:".format(i+1))
name = input("请输入第{}个学生的姓名:".format(i+1))
score1 = float(input("请输入第{}个学生的第1门课程成绩:".format(i+1)))
score2 = float(input("请输入第{}个学生的第2门课程成绩:".format(i+1)))
score3 = float(input("请输入第{}个学生的第3门课程成绩:".format(i+1)))
students.append(Student(id, name, score1, score2, score3))
# 按平均成绩由高到低排序
students.sort(key=lambda x: x.avg_score, reverse=True)
# 输出各学生三门课程的平均成绩和学生信息
print("各学生三门课程的平均成绩如下:")
for student in students:
print("{} {} {:.1f} {:.1f} {:.1f} {:.1f}".format(student.id, student.name, student.score1, student.score2, student.score3, student.avg_score))
```
示例输入:
```
请输入第1个学生的学号:001
请输入第1个学生的姓名:张三
请输入第1个学生的第1门课程成绩:80
请输入第1个学生的第2门课程成绩:85
请输入第1个学生的第3门课程成绩:90
请输入第2个学生的学号:002
请输入第2个学生的姓名:李四
请输入第2个学生的第1门课程成绩:70
请输入第2个学生的第2门课程成绩:75
请输入第2个学生的第3门课程成绩:80
...
```
示例输出:
```
各学生三门课程的平均成绩如下:
001 张三 80.0 85.0 90.0 85.0
003 王五 75.0 80.0 85.0 80.0
002 李四 70.0 75.0 80.0 75.0
...
```
阅读全文