输入一个班的成绩到一维数组中,求最高分、平均分,并统计各分数段的人数。其中分数段有不及格(<60)、及格(60~69)、中(70~79)、良(80~89)、优(>=90)
时间: 2023-05-26 16:07:09 浏览: 130
以下是Python的代码实现:
```python
scores = [] # 存储成绩的数组
fail = pass_ = mid = good = excellent = 0 # 不及格、及格、中、良、优的人数,初值都为0
# 输入学生人数和成绩
n = int(input("请输入学生人数:"))
for i in range(n):
score = int(input("请输入第%d个学生的成绩:" % (i+1)))
scores.append(score)
# 计算最高分和平均分
highest = max(scores)
average = sum(scores) / n
# 统计各分数段的人数
for score in scores:
if score < 60:
fail += 1
elif score < 70:
pass_ += 1
elif score < 80:
mid += 1
elif score < 90:
good += 1
else:
excellent += 1
# 输出结果
print("最高分:", highest)
print("平均分:", average)
print("不及格人数:", fail)
print("及格人数:", pass_)
print("中等人数:", mid)
print("良好人数:", good)
print("优秀人数:", excellent)
```
示例输出:
```
请输入学生人数:10
请输入第1个学生的成绩:78
请输入第2个学生的成绩:92
请输入第3个学生的成绩:65
请输入第4个学生的成绩:44
请输入第5个学生的成绩:80
请输入第6个学生的成绩:88
请输入第7个学生的成绩:72
请输入第8个学生的成绩:56
请输入第9个学生的成绩:85
请输入第10个学生的成绩:77
最高分: 92
平均分: 73.7
不及格人数: 2
及格人数: 2
中等人数: 2
良好人数: 2
优秀人数: 2
```