首页 > 代码库 > 细节之重

细节之重

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!”。//注意S是大写,否侧Wrong Answer!,哎!为这一错误搞了我半天,可见细节之重
 Sample Input
56
67
100
123
 Sample Output
E
D
A
Score is error!
code1:(if)

#include<stdio.h>
#include<math.h>
int main()
{
double s;
while(scanf("%lf%*c",&s)!=EOF)
{

if(s>100||s<0)
printf("Score is error!\n");                   //若掉"\n",则Presentation Error
else if(s>=90)
printf("A\n");
else if(s>=80)
printf("B\n");
else if(s>=70)
printf("C\n");
else if(s>=60)
printf("D\n");
else
printf("E\n");
}
return 0;
}

 

 

code2:(switch)

#include<stdio.h>
#include<math.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n<0||n>100)
{
printf("Score is error!\n");
}
else
{
n/=10;
switch(n)                                                    //switch(n),n只能为整数(int,char,short,long....)否侧“1error!”  switch expression not integral;
{
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;
default: printf("E\n"); break;                     //用default省去了case 5,case 4,case 3,case 2,case 1.
}
}
}
return 0;
}

若int n;
scanf("%lf",&n);则: