求n个学生最高成绩和最低成绩以及高于平均成绩的人数
时间: 2024-11-22 22:46:09 浏览: 16
为了计算n个学生的最高成绩、最低成绩以及高于平均成绩的人数,你需要按照以下步骤操作:
1. **收集数据**:首先,获取每个学生的分数,存储在一个列表或数组中,比如`scores = [score1, score2, ..., score_n]`。
2. **计算总分和平均分**:将所有分数相加得到总分 `total_score`,然后除以学生人数 `n` 得到平均分 `average_score`。
```python
total_score = sum(scores)
average_score = total_score / n
```
3. **找到最高和最低成绩**:遍历得分列表,用第一个值初始化最高分 `max_score` 和最低分 `min_score`,每次遇到比当前最大值更大的值就更新`max_score`,遇到比当前最小值更小的值就更新`min_score`。
4. **统计高于平均分的人数**:遍历得分列表,如果某人的成绩大于平均分,则计数器加一。最后,这个计数器就是高于平均分的学生人数。
```python
count_above_average = 0
for score in scores:
if score > average_score:
count_above_average += 1
```
5. **输出结果**:返回最高分、最低分和高于平均分的人数。
完整的Python代码示例:
```python
def calculate_statistics(scores):
n = len(scores)
total_score = sum(scores)
average_score = total_score / n
max_score = min_score = scores[0]
for score in scores:
if score > max_score:
max_score = score
elif score < min_score:
min_score = score
count_above_average = sum(1 for score in scores if score > average_score)
return max_score, min_score, count_above_average
# 示例数据
scores = [90, 85, 95, 78, 88, 92]
max_score, min_score, above_average_count = calculate_statistics(scores)
print(f"最高分:{max_score}")
print(f"最低分:{min_score}")
print(f"高于平均分的人数:{above_average_count}")
```
阅读全文