张铎龙
2019-10-19 16:33
采纳率: 82.4%
浏览 553

C++ 关于if与if else的问题

原问题:
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;

Input:
输入数据有多组,每组占一行,由一个整数组成。

Output:
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。

Sample Input:
56
67
100
123

Sample Output:
E
D
A
Score is error!

我的代码
#include
#include
using namespace std;
int main(){
int n;
while(scanf("%d",&n)){
if(n100){
printf("Score is error!\n");
}
else if(90<=n<=100){
cout<<"A\n";
}
else if(80<=n<=89){
cout<<"B\n";
}
else if(70<=n<=79){
cout<<"C\n";
}
else if(60<=n<=69){
cout<<"D\n";
}
else if(0<=n<=59){
cout<<"E\n";
}
}
return 0;
}

问题:
为什么输入34、45、68这样的数返回的都是A?
希望前辈指点

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 已采纳

    else if(90<=n<=100){
    ->
    else if(90<=n && n<=100){
    别的类似。

    点赞 打赏 评论

相关推荐