C语言的选择语句 if else。很简单,选择语句的执行顺序??

#include <stdio.h>
int main()
{
int x;
char y;
printf("请输入你的成绩");
scanf_s("%d", &x);
{if (x >= 100 && x <= 0)
\\这里就是问题所在
printf("输入有误,请重新输入");
else
if (x >= 90) y = 'A';
else
if (x >= 81 && x <= 89) y = 'B';
else
if (x >= 70 && x <= 79) y = 'C';
else
if (x >= 60 && x <= 69) y = 'D';
else y = 'E';
}
switch (y)
{
case'A': printf("你的成绩是A\n"); break;
case'B': printf("你的成绩是B\n"); break;
case'C': printf("你的成绩是C\n"); break;
case'D': printf("你的成绩是D\n"); break;
case'E': printf("你的成绩是E\n"); break;
}
return 0;
}
这个程序是输入分数然后判断成绩等级,有一个问题是输入不合法的分数 比如101 或者-1怎么提示输入有误 。我在第一个选择语句中用了小于0并且大于100的分数判断为输入有误 ,可是运行发现输入101会判断等级为A。我怀疑我不懂选择语句的执行顺序。或者我写错了。希望大神指导,谢谢了

{if (x >= 100 && x <= 0)这句话绝对成立不了的~改成||
前面else{
随便赋值一个字符就行

}

switch (y)
{
case'A': printf("你的成绩是A\n"); break;
case'B': printf("你的成绩是B\n"); break;
case'C': printf("你的成绩是C\n"); break;
case'D': printf("你的成绩是D\n"); break;
case'E': printf("你的成绩是E\n"); break;
default:printf("输入不合法");break;
}
最后加一句default就好了~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-23
哥们,{if (x >= 100 && x <= 0)\\这里就是问题所在,这里的&& 改成||,这里应该是逻辑或,不是逻辑与。追问

恩,谢谢了*—-*

第2个回答  2015-04-23
嗯,我回答一下吧。能不能把“&&”改成“||”,再去编译看看。追问

对了 这样的确能解决问题 。谢谢了。

第3个回答  2015-04-23
if (x >= 100 && x <= 0)改成if (x > 100 || x < 0)
相似回答