学生成绩统计 有一个班级30个学生5门课,编写函数实现下列功能: (1)函数 average ()求第一门课的平均分;(2)函数 findfail ()找出有2门以上(含2门)课程不及格的学生,输出学号和全部课程成绩及平均成绩; (3
时间: 2023-11-30 14:02:33 浏览: 126
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
5星 · 资源好评率100%
)函数 maxscore ()找出每门课程的最高分和最高分的学生学号。
首先,我们需要定义一个二维数组存储学生的成绩信息,其中第一维表示学生编号,第二维表示课程编号,例如:
```python
scores = [
[90, 80, 85, 75, 95],
[70, 60, 65, 80, 75],
# ...
]
```
接下来,我们可以按照题目要求编写相应的函数:
```python
def average(scores):
"""
求第一门课的平均分
"""
total = 0
for i in range(len(scores)):
total += scores[i][0]
return total / len(scores)
def findfail(scores):
"""
找出有2门以上(含2门)课程不及格的学生,
输出学号和全部课程成绩及平均成绩
"""
for i in range(len(scores)):
fail_count = 0
for j in range(len(scores[i])):
if scores[i][j] < 60:
fail_count += 1
if fail_count >= 2:
print("学生编号:", i+1)
print("全部成绩:", scores[i])
print("平均成绩:", sum(scores[i])/len(scores[i]))
def maxscore(scores):
"""
找出每门课程的最高分和最高分的学生学号
"""
for i in range(len(scores[0])):
max_score = 0
max_student = 0
for j in range(len(scores)):
if scores[j][i] > max_score:
max_score = scores[j][i]
max_student = j+1
print("第", i+1, "门课程最高分:", max_score)
print("最高分学生编号:", max_student)
```
最后,我们可以调用函数进行测试:
```python
scores = [
[90, 80, 85, 75, 95],
[70, 60, 65, 80, 75],
[85, 75, 80, 60, 90],
# ...
]
print(average(scores))
findfail(scores)
maxscore(scores)
```
阅读全文