给出一个百分制的成绩,要求输出成绩对应的等级A、B、C、D、E。90分以上为‘A’,80-89分以上为'B',70-79分为'C',60-69分以上为'D',60分一下为'E'。
请分别使用if和switch语句实现。
#include <stdio.h>
//if写法
int main()
{
int score;//score/skɔː(r)/ 分数
printf("输入分数:");
scanf("%d",&score);
if(score>100)//分数超过100会出现错误字样
{
printf("超满分!?!");
}
else if(score<=100&&score>=90)
{
printf("A");
}
else if(score<90&&score>=80)
{
printf("B");
}
else if(score<80&&score>=70)
{
printf("C");
}
else if(score<70&&score>=60)
{
printf("D");
}
else if(score<60)
{
printf("E");
}
else//分数低于0会出现错误字样
{
printf("你考了Z");
}
return 0;
}
/*switch写法
int main()
{
int x;
printf("输入分数:");
scanf("%d",&x);
switch(x>=0&&x<=100?x/10:11)//挑出0-100的有效数(返回x/10)否则为错误数(即>100 <0的数)
{ //(返回11),依题目(看十位数)用x/10可使程序变得更简洁
case 0:case 1:case 2:
case 3:case 4:case 5:
printf("E");break;
case 6:printf("D");break;
case 7:printf("C");break;
case 8:printf("B");break;
case 9:case 10:
printf("A");break;
case 11://错误数的判断
{
switch(x>100?1:0)//大于100返回1 小于0返回0
{
case 1:printf("超满分!?!");break;//大于100
case 0:printf("你考了Z");//小于0
}
}
}
return 0;
}
*/