从若干学生成绩中统计高于(严格的大于)平均分的人数,用-1做为学生成绩数据的结束标志
时间: 2024-11-03 16:19:51 浏览: 7
C语言程序设计-统计出若干个学生的平均成绩,最高分以及得最高分的人数;
5星 · 资源好评率100%
在Python中,你可以通过以下步骤来完成这个任务,假设你有一个包含成绩的列表,并且列表的最后一个元素是 `-1` 表示结束标志:
1. 首先,你需要计算平均分。这可以通过求所有分数的总和除以学生人数来实现。需要遍历列表,直到遇到 `-1` 为止。
2. 然后,遍历列表,对每个分数进行检查,如果它大于平均分,则计数器加一。
3. 最后,返回计数器的值,即高于平均分的学生人数。
下面是一个简单的示例代码:
```python
def count_students_above_average(scores):
total_score = 0
count = 0
n = len(scores)
# 计算平均分
for score in scores:
if score == -1:
break
total_score += score
average = total_score / (n - 1) if n > 1 else total_score # 排除最后一个结束标记
# 统计高于平均分的学生
for score in scores:
if score > average and score != -1:
count += 1
return count
# 示例数据
scores = [85, 90, 78, 95, -1]
result = count_students_above_average(scores)
print(f"有 {result} 名学生的成绩高于平均分。")
```
注意这里我们排除了 `-1` 作为平均分计算的一部分,因为它的存在会影响平均值。只有实际有效成绩才参与平均分的计算。
阅读全文