成绩转换

来源:互联网 发布:js的九九乘法表代码 编辑:程序博客网 时间:2024/04/29 14:50

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!”。
 

Sample Input
5667100123
 

Sample Output
EDAScore 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好

0 0
原创粉丝点击