成绩转换
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 73646 Accepted Submission(s): 32374
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!
Author
lcy
测试代码:
#include <stdio.h>
int main ()
{
int t=0;
while (scanf ("%d",&t)!=EOF)
{
if (t<0&&t>100) printf ("Score is error!\n");
else
{
switch (t/10)
{
case 10:
case 9:printf ("A\n");break;
case 8:printf ("B\n");break;
case 7:printf ("C\n");break;
case 6:printf ("D\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
default:printf ("E\n");break;
}
}
}
return 0;
}
最终代码:
#include <stdio.h>
int main ()
{
int t=0;
while (scanf ("%d",&t)!=EOF)
{
if (t<0||t>100) printf ("Score is error!\n");
else
{
switch (t/10)
{
case 10:
case 9:printf ("A\n");break;
case 8:printf ("B\n");break;
case 7:printf ("C\n");break;
case 6:printf ("D\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
default:printf ("E\n");break;
}
}
}
return 0;
}
Run ID | Submit Time | Judge Status | Pro.ID | Exe.Time | Exe.Memory | Code Len. | Language | Author |
11122899 | 2014-07-21 17:24:26 | Accepted | 2004 | 0MS | 248K | 602 B | C++ | Hidden Secret |
问题总结:
主要是自己本地编译的时候一直无错,但是自己随便试了几个数据就不对,后来还是看了别人代码发现自己if语句中的条件有问题(测试了2遍就发现了if语句有问题,但是一直不知道错在哪里),错把||变成了&&,这样两个条件都要满足,当然数据永远不会有error曝出的时候了。总结下,还是水题注意细节!!!水水更健康~