描述
将分数(范围:0~100分)转换为评定等级(A、B、C、D、E)。
90分及以上为A
80分及以上为B
70分及以上为C
60分及以上为D
60分以下为E
输入
分数(范围:0~100分)
输出
评定等级(A、B、C、D、E)
输入样例 1
85
输出样例 1
B
输入样例 2
95
输出样例 2
A
#include <iostream>
using namespace std;
int main()
{
int score, grade;
cin >> score;
if (score > 100) cout << "error!";
else
{
grade = score / 10;
switch (grade)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:cout << "E"; break;
case 6:cout << "D"; break;
case 7:cout << "C"; break;
case 8:cout << "B"; break;
case 9:
case 10:cout << "A"; break;
}
}
return 0;
}
问题点:
①:switch语句是多分支选择语句,用来实现多分支选择结构,它的一般形式是
switch(表达式)
{case 常量表达式1:语句1
case 常量表达式2:语句2
······
case 常量表达式n:语句n
default :语句n+1
}
②:switch后面括号内的“表达式”,可以是数值类型(包括字符类型)数据。
③:当switch表达式的值与某一个case子句中的常量表达式的值相匹配时,就执行此case子句中的内嵌语句,若所有的case子句中的常量表达式的值都不能与switch表达式的值匹配,就执行default子句的内嵌语句。
④:各个case和default的出现顺序不影响执行结果。
⑤:执行完一个case子句后,流程控制转移到下一个case子句继续执行。“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。
⑥:多个case可以共用一组执行语句。
⑦:在case子句中虽然包含了一个以上的执行语句,但可以不必用花括号括起来,会自动顺序执行本case子句中所有的执行语句。当然,加上花括号也可以。