给出一百分制成绩,要求输出成绩ABCDE,90分以上为A80~90为B,70~79为C,60~69为D,60一下为E

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:33:13
用c语言编程。我编的程序如下
main()
{int score;
char c1,c2,c3,c4,c5;
c1='A';
c2='B';
c3='C';
c4='D';
c5='E';
scanf("%d",&score);
if(90<score<=100)printf("%c",c1);
else if(80<score<=90)printf("%c",c2)
else if(70<score<=80)printf("%c",c3);
else if(60<score<=70)printf("%c",c4);
else printf("%c",c5);
}无论我输入多少得到的输出都是A,这是怎么回事呢?请高手指点

对于90<score<=100之类的表达式,无论SCORE取何值,在C语言中永远都会被认为是真的,所以你的程序只会输出A
在C语言中如果要表示90<score<=100这样的关系,应当写成90<score && score<=100,其它的几个也同样