假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入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-02-29 20:53:40 浏览: 133
以下是Python的代码实现:
```python
n = int(input # 输入学生数量
students = [] # 存储学生信息的列表
# 循环输入每个学生的信息
for i in range(n):
info = input().split() # 每个学生的信息以空格分隔输入
num, name, score1, score2, score3 = info[0], info[1], int(info[2]), int(info[3]), int(info[4])
# 计算平均分
average = round((score1 + score2 + score3) / 3, 2)
# 将学生信息存储到列表中
students.append({'num': num, 'name': name, 'average': average})
# 计算平均分最高的学生信息
max_average = max([student['average'] for student in students])
for student in students:
if student['average'] == max_average:
print('num:{0} name:{1} average:{2}'.format(student['num'], student['name'], student['average']))
break # 输出第一个平均分最高的学生信息并结束循环
```
代码的思路是先输入学生数量,再循环输入每个学生的信息,计算每个学生的平均分,并将学生信息存储到一个列表中。最后,通过一次循环找出平均分最高的学生信息,按要求输出即可。
阅读全文