C#入门,switch解决问题

因为只学了switch判断变量是否等于固定值,对这个带范围的不知道怎么答了,想不出来,求解,要求使用switch解决
题目:
输入分数,如果
成绩>=90;A
90>成绩>=60;B
成绩<60;C
最后输出学生考试等级。
用if会算,直接判定,用switch搞不定了

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;
}

可以使用switch case when表达式来解决

string Grade(int num)
        {
            return num switch
            {
                int a when a >= 90 => "A",
                int a when a >= 60 => "B",
                _ => "C"
            };
        }

成绩除以10,判断十位数不就行了
switch(grade/10)

case 9:

break;
//...后续省略