问题描述:
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
输入:
输入数据有多组,每组占一行,由一个整数组成。
输出:
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
样例输入:
56
67
100
123
样例输出:
E
D
A
Score is error!
分析:
对switch的理解以及使用
代码:
#include<iostream>
using namespace std;
int main()
{
double score;
while (cin >> score)
{
if (score > 100 || score < 0)//判断分数的是否符合要求
{
cout << "Score is error!" << endl;
continue;//跳出本次循环
}
int num = score / 10;//因为score过于大,写case很麻烦,所以对10取整,然后使用case
switch (num)
{
case 10:
case 9:cout << "A" << endl; break;//注意“break”不能忘记写
case 8:cout << "B" << endl; break;
case 7:cout << "C" << endl; break;
case 6:cout << "D" << endl; break;
case 5://因为5~0的输出相同,可以不用写break,直接执行case 0中的语句
case 4:
case 3:
case 2:
case 1:
case 0:cout << "E" << endl; break;
default:cout << "Score is error!" << endl; break;
}
}
return 0;
}