杭电ACM2004成绩转换

来源:百度知道 编辑:UC知道 时间:2024/09/23 05:54:26
//程序输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;
#include <iostream>
using namespace std;

int main()
{
int score;
int temp;

while(cin>>score)
{
temp=score/10;
switch (temp)
{
case 10:
case 9:cout<<'A'<<endl;break;
case 8:cout<<'B'<<endl;break;
case 7:cout<<'C'<<endl;break;
case 6:cout<<'D'<<endl;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:cout<<'E'<<endl;break;
default:cout<<"Score is error!"<<endl;break;
}
}
}
//question:在OJ平台上通过不了,请各位大哥帮忙
楼下的,你们该回去看书了
还有第二个回答的,我先谢谢你
那个代码我都有啊,我想知道的是我的代码为什么不行

你对一百零几的这种数据没做处理,像102它就会输出错误答案,我做的时候叶这样错过,哈哈,同错同错!幸会幸会 !

…………不是和你说了吗!!?103,104这些除10以后是10的啊,到CASE 10:那里去了

#include<stdio.h>
int main()
{
int a;
while(scanf("%d",&a)!=EOF)
{
if(a>=0&&a<=59)
printf("E\n");
else if(a>=60&&a<=69)
printf("D\n");
else if(a>=70&&a<=79)
printf("C\n");
else if(a>=80&&a<=89)
printf("B\n");
else if(a>=90&&a<=100)
printf("A\n");
else
printf("Score is error!\n");
}
return 0;
}

我这个代码能过 你自己看看为什么咯 挺简单的~~

你想复杂了吧~~干嘛去判断第一个数字是什么,case 1 2 3 4 5 都没写如果是1 2 3 4 5 怎么处理~

没有 return ?