c语言 switch

来源:百度知道 编辑:UC知道 时间:2024/08/23 08:19:08
根 据 输 入 的 百 分 制 成 绩, 然 后 给 出‘A’ ~‘E’ 相 应 的 等 级 符(90-100 为‘A’、80-89 为‘B’、70-79 为‘B’、60-69 为‘C’、0-59 为‘E’)。

#include<stdio.h>
main()
{
int temp,score;
char grade;
scanf_s("%d",&score);
grade='A';
temp=score/10;
switch(temp)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:grade++;
case 6:grade++;
case 7:grade++;
case 8:grade++;
case 9:
case 10:;
}
printf("the grade is %c",grade);
}

case后面没有内容是什么意思啊
可不可以帮我解释一些这个程序为什么能排名阿

空的话就什么都不执行三.
如果是输入score为50分,temp=为5, 直接执行
case 5:grade++;
case 6:grade++;
case 7:grade++;
case 8:grade++;
case 9:
case 10:;

grade的ASCII码自加了4次,就是'E'的ASCII码了。
一般用switch case 语句时,case:后面的语句执行了就要用break跳出语句。

空的话,就是安向下运行,例如case 4是空,当temp为4时,则向下运行case 5的那句grade++;
不是排名,是按百分制评定等级,假如是59分,从case=5开始,grade一直是在增加