c语言——循环里面的第二个scanf不会执行怎么办?

c语言——循环里面的第二个scanf不会执行怎么办?这个小程序是实现,通过使用者的输入,判断输入的成绩是优秀、良好、及格、不及格、成绩非法中的哪一种,并输出,输出之后用户可以选择输入y或者随便,输入y就继续输入成绩并判断输出,随便输入则退出整个循环。请问怎么做?
源代码:#include <stdio.h>
int main()
{
int score;
char a='Y';
while(a=='Y')
{
printf(''请输入成绩:");
scanf("%d",&score);
if(score<0 || score>100)
{
printf("输入的成绩非法!\n");
}
else if(score<60)
{
printf("不及格\n");
}
else if(score<80)
{
printf("及格\n");
}
else if(score<90)
{
printf("良好\n");
}
else
{
printf("优秀\n");
}
printf("请问还需要继续输入成绩吗?继续请输入'Y',退出请输入除'Y'以外的任何字符:);
scanf("%c",&a);
}
}

printf("请问还需要继续输入成绩吗?继续请输入'Y',退出请输入除'Y'以外的任何字符:);
getchar( );
scanf("%c",&a);
因为上面输入分数时打了个回车 用个getchar()吸收回车;不然回车会被scanf用了
望采纳。追问

厉害厉害!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-27
char a追答

最后一个scanf执行了没,没有的话printf后语言getcher

追问

在哪句printf后添加getchar

最后一个scanf没有执行

看图片很明显没有执行的