在C语言中,可以使用if-else语句或switch语句来实现成绩等级划分。以下是几种不同的实现方法:
方法一:使用if-else语句
```c
include
int main() {
int score;
printf("请输入成绩: ");
scanf("%d", &score);
if (score >= 90) {
printf("成绩等级: A\n");
} else if (score >= 80) {
printf("成绩等级: B\n");
} else if (score >= 70) {
printf("成绩等级: C\n");
} else if (score >= 60) {
printf("成绩等级: D\n");
} else {
printf("成绩等级: E\n");
}
return 0;
}
```
方法二:使用switch语句
```c
include
int main() {
int score;
printf("请输入成绩: ");
scanf("%d", &score);
if (score >= 90) {
printf("成绩等级: A\n");
} else if (score >= 80) {
printf("成绩等级: B\n");
} else if (score >= 70) {
printf("成绩等级: C\n");
} else if (score >= 60) {
printf("成绩等级: D\n");
} else {
printf("成绩等级: E\n");
}
return 0;
}
```
方法三:使用三目运算符
```c
include
int main() {
double score;
printf("请输入成绩: ");
scanf("%lf", &score);
char grade;
score = (score >= 90) ? 'A' :
(score >= 80) ? 'B' :
(score >= 70) ? 'C' :
(score >= 60) ? 'D' : 'E';
printf("成绩等级: %c\n", grade);
return 0;
}
```
方法四:使用switch语句处理0-100的分数
```c
include
int main() {
int score;
printf("请输入成绩: ");
scanf("%d", &score);
if (score < 0 || score > 100) {
printf("成绩输入出错,请输入0-100之间的分数。\n");
return -1;
}
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;
}
```
建议
输入验证:
确保输入的成绩在有效范围内(例如0到100)。
代码简洁性:
根据个人偏好选择if-else或switch语句,但要注意代码的可读性和维护性。
扩展性:
如果需要扩展等级或修改分数范围,使用if-else语句可能更容易修改。如果需要更高效的switch语句,可以考虑将分数范围映射到case标签上。