C中的开关箱多量程

C中的开关箱多量程,c,switch-statement,C,Switch Statement,分数>=75为A级。 我可以知道如何编辑案例7,以便它可以检测到75及以上的A级。 谢谢大家! 如果计划仅使用gcc,则可以使用开关范围: 对于此任务,只需使用if语句即可 switch (mark) { case 75 ... 100: printf("The Grade is A.\n"); break; case 70 ... 74: printf("The Grade is B.\n"); break

分数>=75为A级。
我可以知道如何编辑案例7,以便它可以检测到75及以上的A级。
谢谢大家!

如果计划仅使用gcc,则可以使用开关范围:


对于此任务,只需使用
if
语句即可

switch (mark) {
    case 75 ... 100:
       printf("The Grade is A.\n");
       break;

    case 70 ... 74:
       printf("The Grade is B.\n");
       break

    /*....*/
}
if(标记>=75&&mark<100){
//A
}否则如果(标记>=70和标记<75){
//B
}else{/*无效*/}

为什么不使用
if
语句?
开关((标记+5)/10)
?有什么?五到六个不同的等级加上无效的输入。编写一个返回等级的函数,并在函数中使用simple
if
s。由于
if
的主体会立即返回,因此无需使用
if
/
else
链。如果您不关心可移植性,请使用gcc开关盒范围扩展
switch (mark) {
    case 75 ... 100:
       printf("The Grade is A.\n");
       break;

    case 70 ... 74:
       printf("The Grade is B.\n");
       break

    /*....*/
}
if (mark >= 75 && mark < 100) {
    //A
} else if (mark >= 70 && mark < 75) {
    //B
} else { /* Invalid */ }