因为只学了switch判断变量是否等于固定值,对这个带范围的不知道怎么答了,想不出来,求解,要求使用switch解决
题目:
输入分数,如果
成绩>=90;A
90>成绩>=60;B
成绩<60;C
最后输出学生考试等级。
用if会算,直接判定,用switch搞不定了
把score/10作为switch的条件,相当于取出十位数,那么分别设置case1,2,3,4,5,6,7,8,9,10对应的等级就好了
#include<iostream>
using namespace std;
int main() {
int a;
string grade;
cin>>a;
switch(a/10){
case 0:
grade = "C";
break;
case 1:
grade = "C";
break;
case 2:
grade = "C";
break;
case 3:
grade = "C";
break;
case 4:
grade = "C";
break;
case 5:
grade = "C";
break;
case 6:
grade = "B";
break;
case 7:
grade = "B";
break;
case 8:
grade = "B";
break;
case 9:
grade = "A";
break;
case 10:
grade = "A";
break;
}
cout<<grade;
}
将成绩除以10,然后判断十位数是几确定等级
char g;
switch(score / 10)
{
case 10:
case 9:
g = 'A';
break;
case 8:
case 7:
case 6:
g = 'B';
break;
default:
g = 'C';
break;
}