c语言中随机输入十个人的成绩按分数段统计输出

img

img


是初学数组的小白菜鸡,怎么也改不对。题目是随机输入十个人的单科成绩,统计输出(各分数段内人数)。麻烦大家看一下哪里出错了

应该是int a[7]没有初始化,改为int a[7]={0}初始化一下,然后打印区间成绩那里修改一下即可,修改如下:

#include <stdio.h>

int main(void){
    
    int a[7]={0};
    int grade ,r;
    int count=0;
    while(count<10){
        scanf("%d",&grade);
        r = grade/10;
        count++;
        switch(r){
            case 0:
            case 1:
            case 2:
            case 3:a[0]++;
                   break;
            case 4:a[1]++;
                   break;
            case 5:a[2]++;
                    break;
            case 6:a[3]++;
                       break;
            case 7:a[4]++;
                    break;
            case 8:a[5]++;
                  break;
            default:a[6]++;
                   break;            
        
        }
    }
    
    printf("0-39 %d",a[0]);
    printf("\n");
    for(int i=1;i<6;i++){
        printf("%d0-%d9 %d",i+3,i+3,a[i]);
        printf("\n");
    }
    printf("90-100 %d ",a[6]);
    
    return 0;
} 

img