题目:编写程序将一个百分制成绩转换为5分制成绩。
- 大于等于90分为A。
- 小于90分,大于等于80分为B。
- 小于80分,大于等于70分为C。
- 小于70分,大于等于60分为D。
- 小于60分为E。
编程思路分析:
- 输入一个百分制成绩(数字)。
- 运算(转换)。
- 输出一个5分制成绩。
重点运算思路:
分析:
- if-else语句和switch-case语句都可以使用在转换步骤中。
但是if-else语句只能逐句对比,switch-case语句则可以直接对应到转换值,所以使用switch-case语句更为方便。 - 在这里score可以做一个处理,因为我们实际上只是看输入成绩的十位上的数字,所以可以除以10,让其直接显示十位上的数字,简化判断过程。
实现代码如下:本次代码两个语句都使用了,各取所需。
#include <stdio.h>
int main(){
int score;
scanf("%d", &score);
//1.用级联if else if
/*if( score >= 90 ){
printf("A");
}else if(score >= 80){
printf("B");
}else if(score >= 70){
printf("C");
}else if(score >= 60){
printf("D");
}else{
printf("E");
}*/
//2.使用switch - case语句,但是使用之前要先做处理
score /= 10;
switch ( score ){
case 10:
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n");
break;
case 6:
printf("D\n");
break;
default:
printf("E\n");
break;
}
return 0;
}