#include <stdio.h>
int main()
{
int score;
scanf("%d",&score);
int s;
if( score<0||score>100)
{
printf("Error!Retry\n");
scanf("%d",&score);
}
s=score/10;
switch (s)
{
case 6:
printf("Pass");
break;
case 7:
printf("Pass");
break;
case 8:
printf("Good");
break;
case 9:
printf("Outstanding");
break;
case 10:
printf("Outstanding");
break;
default:
printf("Failed");
break;
}
return 0;
}
- 百分制转化为等级,非常适合采用switch结构。当然也可以用if-else结构。
- 要对输入的数据进行范围划定,在0~100之间。
- switch结构中case后面跟的是整形常量表达式。可以采用/10来处理。
- 不要忘记break!!!也不要忘记default!
- 注意:case后面必须是常量表达式,这个值和全局变量的初始值一样必须在编译时计算出来。
- switch结构和if-else结构的比较
- if-else比swich的条件控制更强大一些:if-else可以按照各种逻辑运算的结果进行流程控制,swich只能进行整数的==判断。
- swich比if-else更清晰。
- 两者都要尽量避免用的过多、过长,尤其不要嵌套的太多。
- 此文为上课笔记,方便以后查看
- 运行结果如下:

版权声明:本文为qq_44314658原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。