小明期末考试分数为87分,在代码编辑器中完善代码使其输出结果为: 等级B
这道题为什么这么写呢?
这道题为什么这么写呢?
2015-01-22
比如说,他考了87分,那么87/10等于8,如果他考了93分,那么93/10等于9,也就是说,可以先通过score/10来取十位数,然后看switch语句中有case多少与之对应,然后依次执行完,遇到break就终止了,不会继续往下执行。例如:把程序中的case 8下面的那个break去掉,那么运行结果就是等级B等级C,因为遇到break才跳出switch,你可以在想想。如下:
#include <stdio.h>
int main()
{
int score = 87;
score/=10;
switch(score)
{
case 10:
case 9:
printf("等级A");
break;
case 8:
printf("等级B");
case 7:
case 6:
printf("等级C");
break;
default:
printf("等级D");
break;
}
return 0;
}
比如说,他考了87分,那么87/10等于8,如果他考了93分,那么93/10等于9,也就是说,可以先通过score/10来取十位数,然后看switch语句中有case多少与之对应,然后依次执行完,遇到break就终止了,不会继续往下执行。例如:把程序中的case 8下面的那个break去掉,那么运行结果就是等级等级C,因为遇到break才跳出switch,你可以在想想。如下:
#include <stdio.h>
int main()
{
int score = 87;
score/=10;
switch(score)
{
case 10:
case 9:
printf("等级A");
break;
case 8:
printf("等级B");
case 7:
case 6:
printf("等级C");
break;
default:
printf("等级D");
break;
}
return 0;
}
举报