利用for循环,将20位同学的C语言程序设计成绩(成绩控制在0-100范围内)按分数段(90~100分,80~89分,70~79分,60~69分,小于60分)统计各分数段的人数,并按照一定格式(格式自行设计)输出
时间: 2023-08-31 17:20:00 浏览: 81
### 回答1:
以下是Python代码实现:
```python
scores = [] # 存储20位同学的成绩
for i in range(20):
score = int(input("请输入第{}位同学的成绩:".format(i+1)))
while score < 0 or score > 100: # 判断成绩是否在0-100范围内
score = int(input("成绩输入有误,请重新输入:"))
scores.append(score)
# 统计各分数段的人数
count_90_100 = 0
count_80_89 = 0
count_70_79 = 0
count_60_69 = 0
count_below_60 = 0
for score in scores:
if score >= 90:
count_90_100 += 1
elif score >= 80:
count_80_89 += 1
elif score >= 70:
count_70_79 += 1
elif score >= 60:
count_60_69 += 1
else:
count_below_60 += 1
# 输出分数段统计结果
print("90~100分:", end='')
for i in range(count_90_100):
print("★", end='')
print("({}人)".format(count_90_100))
print("80~89分:", end='')
for i in range(count_80_89):
print("★", end='')
print("({}人)".format(count_80_89))
print("70~79分:", end='')
for i in range(count_70_79):
print("★", end='')
print("({}人)".format(count_70_79))
print("60~69分:", end='')
for i in range(count_60_69):
print("★", end='')
print("({}人)".format(count_60_69))
print("小于60分:", end='')
for i in range(count_below_60):
print("★", end='')
print("({}人)".format(count_below_60))
```
输出结果示例:
```
请输入第1位同学的成绩:85
请输入第2位同学的成绩:92
请输入第3位同学的成绩:78
请输入第4位同学的成绩:65
请输入第5位同学的成绩:55
请输入第6位同学的成绩:99
请输入第7位同学的成绩:85
请输入第8位同学的成绩:77
请输入第9位同学的成绩:89
请输入第10位同学的成绩:70
请输入第11位同学的成绩:83
请输入第12位同学的成绩:94
请输入第13位同学的成绩:72
请输入第14位同学的成绩:68
请输入第15位同学的成绩:73
请输入第16位同学的成绩:99
请输入第17位同学的成绩:85
请输入第18位同学的成绩:92
请输入第19位同学的成绩:78
请输入第20位同学的成绩:65
90~100分:★★★★★(6人)
80~89分:★★★★★★(9人)
70~79分:★★★★(4人)
60~69分:★★★(3人)
小于60分:★★(2人)
```
### 回答2:
假设20位同学的成绩保存在名为"c_scores"的列表中,可以用以下代码统计各分数段的人数并输出:
```python
c_scores = [89, 92, 78, 85, 65, 73, 97, 80, 60, 79, 88, 67, 75, 72, 95, 81, 59, 69, 83, 91]
# 初始化各分数段的计数器
excellent = 0 # 90~100分
good = 0 # 80~89分
average = 0 # 70~79分
passing = 0 # 60~69分
fail = 0 # 小于60分
# 统计各分数段的人数
for score in c_scores:
if 90 <= score <= 100:
excellent += 1
elif 80 <= score <= 89:
good += 1
elif 70 <= score <= 79:
average += 1
elif 60 <= score <= 69:
passing += 1
else:
fail += 1
# 输出各分数段的人数
print("成绩统计:")
print("90~100分的人数:", excellent)
print("80~89分的人数:", good)
print("70~79分的人数:", average)
print("60~69分的人数:", passing)
print("小于60分的人数:", fail)
```
该代码首先定义了一个名为"c_scores"的列表,用来保存20位同学的成绩。然后,初始化五个计数器,用来统计各分数段的人数。接下来,利用for循环遍历成绩列表,根据成绩的范围分别增加相应分数段的计数器。最后,按格式输出各分数段的人数。
### 回答3:
利用for循环,可以遍历每个同学的成绩,并根据其分数段进行统计。首先,我们可以创建五个变量来记录各分数段的人数,初始值都设为0。然后,通过for循环遍历20位同学的成绩。
```python
score_counts = [0, 0, 0, 0, 0] # 五个分数段的人数,初始值为0
for i in range(20):
score = int(input("请输入第{}位同学的成绩:".format(i+1)))
if score >= 90 and score <= 100:
score_counts[0] += 1
elif score >= 80 and score <= 89:
score_counts[1] += 1
elif score >= 70 and score <= 79:
score_counts[2] += 1
elif score >= 60 and score <= 69:
score_counts[3] += 1
elif score < 60:
score_counts[4] += 1
# 输出结果
print("90~100分的人数:{}".format(score_counts[0]))
print("80~89分的人数:{}".format(score_counts[1]))
print("70~79分的人数:{}".format(score_counts[2]))
print("60~69分的人数:{}".format(score_counts[3]))
print("小于60分的人数:{}".format(score_counts[4]))
```
通过以上代码,我们可以按照一定的格式输出各分数段的人数。例如,输出结果可以是:
```
90~100分的人数:3
80~89分的人数:7
70~79分的人数:5
60~69分的人数:4
小于60分的人数:1
```
这样,我们通过for循环对20位同学的成绩进行了统计,并按照要求输出了各分数段的人数。