switch(表达式)
{
case 常量1:语句1;break;
case 常量2:语句2;break;
default:语句n;break;
}
switch 语句必须遵循下面的规则:
- switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
- 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
- case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
- 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
- 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
- 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
- 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
五级制成绩
【任务描述】
五级制成绩表示法可以这样来理解,A代表[90-100]、B代表[80-90)、C代表[70-80)、D代表[60-70)、E代表[0-60)。 给出五级制成绩(一个字符),请输出这个字符所代表的分数范围。【输入格式】
一个大写的英文字符,代表五级制成绩。【输出格式】
在一行中输出该成绩所表示的整数成绩范围区间,如果该字符不在五级制定义范围之内,输出:ERROR。【输入样例1】
A
【输出样例1】
[90-100]
【输入样例2】
D
【输出样例2】
[60-70)
【输入样例3】
X
【输出样例3】
ERROR
-
答案:
-
#include <bits/stdc++.h>
using namespace std;
int main()
{
char rank;
scanf("%c",&rank);
switch (rank)
{
case 'A': printf("[90-100]");break;
case 'B': printf("[80-90)");break;
case 'C': printf("[70-80)");break;
case 'D': printf("[60-70)");break;
case 'E': printf("[0-60)");break;
default: printf("ERROR\n");
}
return 0;
}