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<stdio.h>
int main (){
int a;
while (scanf("%d",&a)!=EOF)
{
switch (a/10)
{
case 0:if (a!=0)
{
printf("Score is error!\n");
break;
}
case 1:
case 2:
case 3:
case 4:
case 5: printf("E\n");
break;
case 6: printf("D\n");
break;
case 7: printf("C\n");
break;
case 8: printf("B\n");
break;
case 9:
case 10:
if(a==100)
printf("A\n");
else
printf("Score is error!\n");
break;
default: printf("Score is error!\n");
break;
}
}
return 0;
}
方法二:
#include <stdio.h> int main(void) { int r; while (scanf("%d", &r) != EOF) { if (r < 0) puts("Score is error!"); else if (r < 60) puts("E"); else if (r < 70) puts("D"); else if (r < 80) puts("C"); else if (r < 90) puts("B"); else if (r < 101) puts("A"); else puts("Score is error!"); } return 0; }
switch 不好做,-1 102 都算在case 0 和case 10里边还是 有if好