#include<stdio.h>
intmain()
{
doublescore;
intnKey;
while(scanf_s("%lf",&score)==1)
{
if(score<0||score>100)
{
printf("请输入0-100范围内的分数\n");
continue;
}
nKey=(int)score/10;
switch(nKey)
{
case0:
case1:
case2:
case3:
case4:
case5:
printf("E\n");
break;
case6:
printf("D\n");
break;
case7:
printf("C\n");
break;
case8:
printf("B\n");
break;
case9:
case10:
printf("A\n");
break;
default:
break;
}
}
return0;
}
switch用法
一般形式:
switch(表达式){
case常量表达式1: 语句1;
case常量表达式2: 语句2;
?
case常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。
与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。
在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。