用数组请对某次考试的分数,统计各分数段人数,统计原则:分别对10分以下、 10-19分、20-29分、30-39分、40-49分、50-59分、60-69分、70- 79,80-89分,90到99分,100分为一段,共11段。 注意:如果输入分数不在[0,100]之间,不参与统计。 输入格式: 先输入一个整数n,表示将输入n个分数。 再输入n个分数,范围在[0~100]. 每个数用空格间隔。 输出格式: 每一行输出一个分数段的人数统计结果。分数段用0~10表示。
时间: 2023-06-09 09:06:41 浏览: 1504
好的,我明白了您的要求,请看下面的代码:
```python
n = int(input())
scores = list(map(int, input().split()))
counts = [0] * 11 # 初始化11个分数段的计数器
for score in scores:
if 0 <= score <= 100:
idx = score // 10 # 计算分数属于哪个分数段
counts[idx] += 1
# 输出各分数段人数
for i in range(11):
if i < 10:
print("%d-%d: %d" % (i * 10, i * 10 + 9, counts[i]))
else:
print("100: %d" % counts[i])
```
以上代码通过输入n和n个分数,统计各分数段人数并输出。分数段使用0~10表示,10分数段表示为0-9分,以此类推,最后一段为100分。如果输入分数不在[0,100]之间,则不参与统计。
相关问题
c语言请对某次考试的分数,统计各分数段人数,统计原则:分别对10分以下、10-19分、20-29分、30-39分、40-49分、50-59分、60-69分、70-79,80-89分,90到99分,100分为一段,共11段 。 注意:如果输入分数不在[0,100]之间,不参与统计。 输入格式: 先输入一个整数n,表示将输入n个分数。 再输入n个分数,范围在[0~100]. 每个数用空格间隔。 输出格式: 每一行输出一个分数段的人数统计结果。分数段用0~10表示。
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
int score, count[11] = {0}; // 记录各分数段人数的数组,初始值为0
scanf("%d", &n); // 输入n个分数
for (int i = 0; i < n; i++) {
scanf("%d", &score);
if (score >= 0 && score <= 100) { // 判断分数是否在[0,100]之间
count[score / 10]++;
}
}
// 输出各分数段人数
for (int i = 0; i <= 10; i++) {
if (i == 10) { // 最后一段分数是100
printf("100: %d\n", count[10]);
} else {
printf("%d-%d: %d\n", i * 10, i * 10 + 9, count[i]);
}
}
return 0;
}
```
注释已经写得比较详细了,主要思路是:用一个长度为11的数组count记录各分数段人数,输入每个分数时将对应分数段人数加1,最后输出各分数段人数。
阅读全文