应该是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;
}