关于switch语句的问题: 题目:根据输入的百分制成绩,转换成相应的等级。程序如下:

程序如下:
#include "stdio.h"
main()
{
int score,mark;
printf("请输入成绩\n");
scanf("%d",&score);
mark=score/10;
switch(mark)
{
case 10:
case 9: printf("%d-----A\n",score);break;
case 8: printf("%d-----B\n",score);break;
case 7: printf("%d-----C\n",score);break;
case 6: printf("%d-----D\n",score);break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("%d-----E\n",score);break;
}
}
哪位大侠能详细讲解一下该程序,不胜感激。

score是指你输入的分数;mark是指除10后取整的数,switch里面用这个mark来判断
举个例子 你输入一个93分 mark就会是93/10取整后就是9,case就会走到9,printf输出你的分数93分-----A
如果是85 取整后就是8 case就走到8,printf输出你的分数85------B 以此类推
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-31
#include "stdio.h"
main()
{
int score,mark;
printf("请输入成绩\n");
scanf("%d",&score);
mark=score/10;
switch(mark)
{
case 10:
case 9: printf("%d-----A\n",score);break;/*case10与case9共用case9执行语句,当mark值为10或者9时,都会执行case9语句*/
case 8: printf("%d-----B\n",score);break;
case 7: printf("%d-----C\n",score);break;
case 6: printf("%d-----D\n",score);break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("%d-----E\n",score);break;/*同样case5到case0与上面解释一样*/
}
}
/*switch语句中多个case可以共用一组执行语句,这个大学书上有明确的说明,可以去翻翻*/
相似回答