c语言入门,求告知如下问题,关于default没有输出

关于这个switch语句,要求a不在0-100之间时输出Error,为什么我这样输入-1后没有输出

img

img

#include<stdio.h>
int main(){
    int n,a,b;
    while(scanf("%d",&n)!=EOF){
            scanf("%d",&a);
            b=a/10;
            switch(b){
                case 9:case 10:printf("Excellent\n");break;
                case 8:printf("Good\n");break;
                case 7:printf("Average\n");break;
                case 6:printf("Pass\n");break;
                case 0:case 1:case 2:case 3:case 4:case 5:printf("Failing\n");break;
                default :printf("Error\n");break;
                
            };
        
    }
    return 0;
}


这么改下,供参考:

#include<stdio.h>
int main(){
    int n,a,b;
    while(scanf("%d",&a)!= EOF){
            //scanf("%d",&a);
            if(a < 0 || a > 100) b = -1;
            else                 b=a/10;
            switch(b){
                case 9:case 10:printf("Excellent\n");break;
                case 8:printf("Good\n");break;
                case 7:printf("Average\n");break;
                case 6:printf("Pass\n");break;
                case 0:case 1:case 2:case 3:case 4:case 5:printf("Failing\n");break;
               default :printf("Error\n");break;
            };
    }
    return 0;
}