先输入一个整数n,表示将输入n个分数。 再输入n个分数,范围在[0~100]. 每个数用空格间隔。 输出格式: 每一行输出一个分数段的人数统计结果。分数段用0~10表示。

请对某次考试的分数,统计各分数段人数,统计原则:分别对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表示。

输入样例:
在这里给出一组输入。例如:

6
50 60 98 100 0 1000

0: 1
1: 0
2: 0
3: 0
4: 0
5: 1
6: 1
7: 0
8: 0
9: 1
10: 1
最后一排无空行,利用到数组

#include<stdio.h>
int main()
{
    int score[11] = {0};
    int n,s;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&s);
        if(s >= 0 && s <= 100){
            score[s/10]++;
        }
    }
    for(int i=0;i<=10;i++){
        printf("%d: %d\n",i*10,score[i]);
    }
    return 0;
}

img


#include <stdio.h>
int main()
{
    int n, i, j, score, freq[11] = {0};
    // 输入一个整数n,表示将输入n个分数
    printf("请输入分数个数:");
    scanf("%d", &n);
    // 输入n个分数,范围在[0~100]
    for (i = 0; i < n; i++)
    {
        printf("请输入第%d个分数:", i + 1);
        scanf("%d", &score);
        // 如果输入分数不在[0,100]之间,不参与统计
        if (score < 0 || score > 100)
            continue;
        // 将分数除以10,得到分数所属的区间
        j = score / 10;
        // 更新对应区间的频数
        freq[j]++;
    }
    // 输出结果
    for (i = 0; i < 11; i++)
    {
        printf("%d: %d\n", i, freq[i]);
    }
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^