.分别用if语句和switch语句实现以下功能。 从键盘上输入百分制成绩,将其转换为等级制成绩。90-100为优,80-89为良,70-79为中60-69为及格,0-59为不及格。
时间: 2024-10-29 07:25:12 浏览: 23
在C语言中,你可以使用`if`语句或`switch`语句来实现这个功能。这里分别给出两种方法的示例:
**使用`if`语句:**
```c
#include <stdio.h>
int main() {
float score;
printf("请输入百分制成绩:");
scanf("%f", &score);
if (score >= 90) {
printf("成绩等级:优\n");
} else if (score >= 80 && score < 90) {
printf("成绩等级:良\n");
} else if (score >= 70 && score < 80) {
printf("成绩等级:中\n");
} else if (score >= 60 && score < 70) {
printf("成绩等级:及格\n");
} else {
printf("成绩等级:不及格\n");
}
return 0;
}
```
**使用`switch`语句:**
```c
#include <stdio.h>
int main() {
float score;
printf("请输入百分制成绩:");
scanf("%f", &score);
int grade = (score >= 90) ? 1 :
(score >= 80 && score < 90) ? 2 :
(score >= 70 && score < 80) ? 3 :
(score >= 60 && score < 70) ? 4 :
5; // 不及格
switch (grade) {
case 1: printf("成绩等级:优\n"); break;
case 2: printf("成绩等级:良\n"); break;
case 3: printf("成绩等级:中\n"); break;
case 4: printf("成绩等级:及格\n"); break;
default: printf("成绩等级:不及格\n"); break;
}
return 0;
}
```
在这两个例子中,我们首先获取用户输入的分数,然后根据条件判断输出相应的等级。`if`语句逐个检查每个区间,而`switch`语句则更简洁地处理了相同类型的比较。
阅读全文