给出一百分制成绩,要求成绩等级‘A’‘B’‘C’‘D’‘E’。90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E.

时间:2022-01-04 23:23:28
#include<stdio.h>

int main()
{
float score;
char grade;
printf("输入学生的成绩:\n");
scanf("%f",&score);
while(score>100 || score < 0)
{
printf("输入有误,请重输\n");
scanf("%f",&score);
}
switch((int)(score/10))
{
case 10:
case 9:grade = 'A';break;
case 8:grade = 'B';break;
case 7:grade = 'C';break;
case 6:grade = 'D';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade = 'E';
}
printf("成绩是%5.1f,相应的等级是%c\n",score,grade);
return 0;
}
 
 
对输入的数据进行检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将(score/10)的值进行强制类型转化,
得到一个整型值。例如:当score的值为76时,(int)(score/10)的值为7,然后switch语句执行case7中的语句,使得grade=C