Problem Description
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
Input
输入数据有多组,每组占一行,由一个整数组成。
Output
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input
56 67 100 123
Sample Output
E D A Score is error!附上一份基本算法和另类解法#include<iostream> #include<stdio.h> #include<math.h> using namespace std; int main() { int num; while(scanf("%d",&num)!=EOF) { if(num>=90&&num<=100) { cout<<"A"<<endl; } else if(num>=80&&num<=89) { cout<<"B"<<endl; } else if(num>=70&&num<=79) { cout<<"C"<<endl; } else if(num>=60&&num<=69) { cout<<"D"<<endl; } else if(num>=0&&num<=59) { cout<<"E"<<endl; } else{ cout<<"Score is error!"<<endl; } } }
该解法来自于:http://blog.csdn.net/tigerisland45/article/details/51758257/* HDU2004 成绩转换 */ #include <stdio.h> int main(void) { int score; char convert[] = "EEEEEEDCBAA"; while(scanf("%d", &score) != EOF) { if(score < 0 || score > 100) printf("Score is error!\n"); else printf("%c\n", convert[score/10]); } return 0; }