2004 成绩转换
Problem Description
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
Input
输入数据有多组,每组占一行,由一个整数组成。
Output
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
前一个是我自己的代码 比较简单的想法
#include<stdio.h>
int main() {
int a;
while(scanf("%d",&a)!=EOF)
{
if(90<=a&&a<=100)
printf("A\n");
else if(80<=a&&a<=89)
printf("B\n");
else if(70<=a&&a<=79)
printf("C\n");
else if(60<=a&&a<=69)
printf("D\n");
else if(0<=a&&a<=59)
printf("E\n");
else if(a>=100||a<=0)
printf("Score is error!\n");
}
return 0;
}
后一个是我觉得我没有想到应该学习的代码
#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;
}
c++如下
#include<iostream>
using namespace std;
int main()
{
double score;
while(cin>>score)
{
if(score<0||score>100)
cout<<"Score is error!"<<endl;
if(0<=score&&score<=59)
cout<<"E"<<endl;
if(60<=score&&score<=69)
cout<<"D"<<endl;
if(70<=score&&score<=79)
cout<<"C"<<endl;
if(80<=score&&score<=89)
cout<<"B"<<endl;
if(90<=score&&score<=100)
cout<<"A"<<endl;
}
return 0;
}