作业帮 > 综合 > 作业

C语言,输出百分制成绩等级ABCDE,对应关系:A 91~100 B 81~90 C 71~80 D 60~70 E 5

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 00:02:07
C语言,输出百分制成绩等级ABCDE,对应关系:A 91~100 B 81~90 C 71~80 D 60~70 E 59?
C语言,输出百分制成绩等级ABCDE,对应关系:A 91~100 B 81~90 C 71~80 D 60~70 E 5
#include
int main(void){
int mark;
puts("请输入百分制分数(0~100):");
scanf("%d",&mark);
puts("对应的ABCDE等级为:");
if(mark>90 && mark80 && mark70 && mark59 && mark
再问: 如果用SELECT CASE语句,怎么办?
再答: 这种情况下,用switch未必比if else来得好。 本来可以用 (mark-1)/10 来做switch的判断条件,case 9对应A,8对应B,7对应C,但D就不对了,60分是个例外,(60-1)/10=5,所以不行。 硬要构造出一个能完全区分五个分数段的判断条件相信可以做到,但何必自找麻烦呢,if else意义清晰,语句也不复杂,是更好的选择。
再问: 恩恩,我也觉得麻烦,但是老师就是这么要求的。。。。我也很纠结。。。
再答: 要么你这样: switch( (mark-1)/10 ){ case 9:putchar('A');break; case 8:putchar('B');break; case 7:putchar('C');break; default:if(mark>=60)putchar('D'); else putchar('E'); } 这么怪的东西,我没试过,你试试。