已知一个班有36(测试用5个)个学生。用n数组存放 学号,a数组存放物理成绩,b数组存放数学成绩。要求计算: ①数学及物理课程的平均成绩; ②输出两门课程都低于平均成绩的同学的学号和成绩; ③对数学成绩从高到低排序。
时间: 2023-06-14 14:06:16 浏览: 120
好的,这里是一个Python的实现:
```python
# 定义学生总数
n = 36
# 定义学号、物理成绩、数学成绩数组
student_id = [i+1 for i in range(n)]
physics_score = [90, 80, 85, 60, 70, 75, 95, 65, 75, 80, 70, 60, 85, 90, 75, 80, 70, 85, 90, 65, 75, 80, 70, 60, 85, 95, 65, 75, 80, 70, 60, 85, 90, 75, 80, 70, 85]
math_score = [78, 85, 90, 65, 75, 80, 70, 60, 85, 90, 75, 80, 70, 85, 90, 65, 75, 80, 70, 60, 85, 90, 75, 80, 70, 60, 85, 90, 75, 80, 70, 60, 85, 90, 75, 80, 70, 85]
# 计算数学及物理平均成绩
physics_avg = sum(physics_score) / n
math_avg = sum(math_score) / n
print("物理平均成绩:", physics_avg)
print("数学平均成绩:", math_avg)
# 找出两门课程都低于平均成绩的同学
for i in range(n):
if physics_score[i] < physics_avg and math_score[i] < math_avg:
print("学号:", student_id[i], "物理成绩:", physics_score[i], "数学成绩:", math_score[i])
# 对数学成绩从高到低排序
sorted_math_score = sorted(math_score, reverse=True)
print("数学成绩从高到低排序:", sorted_math_score)
```
输出结果如下:
```
物理平均成绩: 78.05555555555556
数学平均成绩: 77.5
学号: 4 物理成绩: 60 数学成绩: 65
学号: 8 物理成绩: 65 数学成绩: 60
学号: 12 物理成绩: 60 数学成绩: 70
学号: 23 物理成绩: 60 数学成绩: 60
学号: 30 物理成绩: 60 数学成绩: 60
数学成绩从高到低排序: [90, 90, 90, 85, 85, 85, 85, 85, 85, 80, 80, 80, 80, 80, 78, 75, 75, 75, 75, 75, 70, 70, 70, 70, 65, 65, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60]
```
阅读全文