读书人

老是wrong 。哎。

发布时间: 2013-03-25 15:43:04 作者: rapoo

总是wrong 。。哎。。
成绩评估
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Total Submission: 737 Submission Accepted: 238
Description
我们知道,高中会考是按等级来的。
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E。

编写一个程序,对输入的一个百分制的成绩t,将其转换成对应的等级。




Input
输入数据有多组,每组占一行,由一个整数组成。




Output
对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。


Sample Input
Original Transformed

56
67
100
12356[EOL] 67[EOL] 100[EOL] 123[EOF]

Sample Output
Original Transformed

E
D
A
Score is error!


#include<stdio.h>

int main()
{int t;
while(scanf("%d",&t)&&t>=0&&t<=100)
{switch(t/10)
{
case 10:printf("A\n");break;
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");

}

}
if(t<0||t>100)printf("Score is error!\n");
return 0;
} c
[解决办法]
while(scanf("%d",&t)&&t>=0&&t<=100)这一句对t做了判断,如果t不在0到100的范围内,就会输出:“Score is error!”,然后就会结束。应该是输出:“Score is error!”后又可以继续输入吧?
[解决办法]
while(scanf())
if(t>0 && t < 100)
else
error;
[解决办法]


#include<stdio.h>

int main(void)
{
int t;
while(scanf("%d",&t) && t >= 0 && t <= 100)
{
switch(t/10)
{
case 10:printf("A\n");break;
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:
printf("E\n");
break;

}

}
if(t<0
[解决办法]
t>100)
{
printf("Score is error!\n");
}
return 0;
}

你的代码没问题,我在linux下测试的。对你的代码稍微做了一下改动。

读书人网 >C语言

热点推荐