将百分制转换为等级制(Centesimal-grade to Letter-grade)
利⽤switch语句编写⼀个程序,把⽤数字表示的成绩转化为字⺟表示的等级。
使⽤下⾯的等级评定规则:A为90~100,B为80~89,C为70~79,D为60~69,F为0~59。如果成绩⾼于100或低于0显示出错信息。
输出范例:
Enter numerical grade: 84
Letter grade: B
Enter numerical grade: -1
Error, grade must be between 0 and 100.
提示:把成绩拆分成 2 个数字,然后使⽤ switch 语句判定⼗位上的数字。
#include <stdio.h>
int main ()
{
int a,b;
printf("Enter numerical grade:");
scanf("%d",&a);
if (a<0||a>100)
printf("Error, grade must be between 0 and 100.");
else
{
a-=(a%10);
b=a/10;
switch (b) {
case 9: case 10:
printf("Letter grade:A");
break;
case 8: printf("Letter grade:B");
break;
case 7: printf("Letter grade:C");
break;
case 6: printf("Letter grade:D");
break;
case 0: case 1: case 2: case 3: case 4: case 5:
printf("Letter grade:F");
break;
default: printf("Error, grade must be between 0 and 100.");
break;
}
}
return 0;
}