【实验8-3 输出平均分最高的学生信息】 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。 输入格式: 输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学号、姓名、三门课程成绩(整数)。 输出格式: 在一行中输出平均分最高的学生信息:学号、姓名、平均分(保留两位小数)。 输入样例: 3 101 Zhang 78 87 85 102 Wang 91 88 90 103 Li 75 90 84 输出样例: num:102 name:Wang average:89.67
时间: 2024-03-11 21:45:23 浏览: 71
以下是一个可能的实现方式:
```python
n = int(input())
# 定义学生结构体
class Student:
def __init__(self, num, name, score1, score2, score3):
self.num = num
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.average = (score1 + score2 + score3) / 3
# 初始化学生列表
students = []
for i in range(n):
num, name, score1, score2, score3 = input().split()
score1, score2, score3 = int(score1), int(score2), int(score3)
students.append(Student(num, name, score1, score2, score3))
# 计算平均分最高的学生
max_average = students[0].average
max_student = students[0]
for student in students:
if student.average > max_average:
max_average = student.average
max_student = student
# 输出结果
print("num:{} name:{} average:{:.2f}".format(max_student.num, max_student.name, max_student.average))
```
这个程序首先读入整数n,表示学生个数。接下来使用一个类来表示学生信息,然后读入n个学生的信息,并将它们存储在一个列表students中。接着遍历students列表,计算平均分最高的学生,最后输出结果。注意格式化输出时使用"{:.2f}"表示保留两位小数。
阅读全文