题目描述
我们知道,高中会考是按等级来的。 90~100为A; 80~89为B; 70~79 为C; 60~69为D; 0~59为E。 编写一个程序,对输入的一个百分制的成绩t,将其转换成对应的等级。
输入
输入数据有多组,每组占一行,由一个整数组成。
输出
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
#include <iostream>
using namespace std;
int main()
{
int a;
while(cin>>a)
{if(a>=90&&a<=100) cout<<‘A‘<<‘\n‘;
else if(a>=80&&a<90) cout<<‘B‘<<‘\n‘;
else if(a>=70&&a<80) cout<<‘C‘<<‘\n‘;
else if(a>=60&&a<70) cout<<‘D‘<<‘\n‘;
else if(a>=0&&a<60) cout<<‘E‘<<‘\n‘;
else cout<<"Score is error!"<<‘\n‘;} //错误的成绩包括大于100和小于0的数
return 0;
}
对于这种“多对一”的问题,一般情况下,使用IF条件语句来解答比较合适;因为题目要求输入多组数据,且没有限制,所以,使用while输入比较好;
对于输入的数据,直接判断,比如,数据在90到100之间(if(a>=90&&a<=100)),输出A就行了(cout<<‘A‘<<‘\n‘;),别忘了输出每个结果后都要换行(‘\n‘);
但要注意,在两个数的范围之间,要用&&连接,不能用数学的形式;比如,在90到100之间,不能表示成if(90<=a<=100),而应该表示成if(a>=90&&a<=100)!
原文:http://www.cnblogs.com/cxx19961122/p/3555499.html