有一个班的5个学生,已知每个学生有5门成绩,要求输出平均成绩最高的学生的成绩以及该学生的序号,写成函数,参数为二维数组
时间: 2024-12-14 12:17:57 浏览: 6
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
为了完成这个任务,我们可以编写一个Python函数,它接收一个二维数组作为参数,其中每一行代表一个学生的成绩。首先,我们需要计算所有学生的平均成绩,然后找出平均分最高的学生及其序号。以下是实现这个功能的一个函数:
```python
def find_highest_average_student(scores):
num_students = len(scores)
max_avg_score = float('-inf') # 初始化最大平均成绩为负无穷大
student_with_max_avg = None # 存储最高平均成绩的学生
for i in range(num_students):
avg_score = sum(scores[i]) / len(scores[i])
if avg_score > max_avg_score:
max_avg_score = avg_score
student_with_max_avg = i
return scores[student_with_max_avg], student_with_max_avg + 1 # 返回最高平均成绩和对应的学生序号(因为是从0开始计数)
# 示例用法
scores_2d = [
[85, 90, 78, 92, 88],
[93, 94, 86, 90, 91],
[80, 85, 77, 82, 83],
[95, 96, 91, 93, 94],
[75, 80, 72, 78, 81]
]
highest_score, student_number = find_highest_average_student(scores_2d)
print(f"最高平均成绩的学生成绩为 {highest_score},序号为 {student_number}")
```
阅读全文