细节之重

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! ");                   //若掉" ",则Presentation Error
else if(s>=90)
printf("A ");
else if(s>=80)
printf("B ");
else if(s>=70)
printf("C ");
else if(s>=60)
printf("D ");
else
printf("E ");
}
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! ");
}
else
{
n/=10;
switch(n)                                                    //switch(n),n只能为整数(int,char,short,long....)否侧“1error!”  switch expression not integral;
{
case 10:
case 9: printf("A "); break;
case 8: printf("B "); break;
case 7: printf("C "); break;
case 6: printf("D "); break;
default: printf("E "); break;                     //用default省去了case 5,case 4,case 3,case 2,case 1.
}
}
}
return 0;
}

若int n;
scanf("%lf",&n);则:
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/gongpulin/p/3871550.html