来自潘大四的问题
【C语言,输出百分制成绩等级ABCDE,对应关系:A91~100B81~90C71~80D60~70E59?】
C语言,输出百分制成绩等级ABCDE,对应关系:A91~100B81~90C71~80D60~70E59?
5回答
2020-05-16 04:48
【C语言,输出百分制成绩等级ABCDE,对应关系:A91~100B81~90C71~80D60~70E59?】
C语言,输出百分制成绩等级ABCDE,对应关系:A91~100B81~90C71~80D60~70E59?
#include
intmain(void){
intmark;
puts("请输入百分制分数(0~100):");
scanf("%d",&mark);
puts("对应的ABCDE等级为:");
if(mark>90&&mark80&&mark70&&mark59&&mark
如果用SELECTCASE语句,怎么办?
这种情况下,用switch未必比ifelse来得好。本来可以用(mark-1)/10来做switch的判断条件,case9对应A,8对应B,7对应C,但D就不对了,60分是个例外,(60-1)/10=5,所以不行。硬要构造出一个能完全区分五个分数段的判断条件相信可以做到,但何必自找麻烦呢,ifelse意义清晰,语句也不复杂,是更好的选择。
恩恩,我也觉得麻烦,但是老师就是这么要求的。。。。我也很纠结。。。
要么你这样:switch((mark-1)/10){case9:putchar('A');break;case8:putchar('B');break;case7:putchar('C');break;default:if(mark>=60)putchar('D');elseputchar('E');}这么怪的东西,我没试过,你试试。