分别使用if和switch语句,将百分制成绩转换为成绩等级A、B、C、D、E。其中[90~100]分为A,[80~90)分为B,[70~80)分为C,[60~70)分为D,60分以下为E。对超出百分制范围的成绩,给出错误提示信息。
时间: 2024-09-29 09:04:03 浏览: 82
在MATLAB中,你可以使用`if`语句或嵌套的`if...else`结构来实现这个需求,因为这里的情况是线性的,不需要复杂的分支判断。不过,`switch`语句通常更适合于处理多个选项的单个条件匹配。
**使用`if`语句:**
```matlab
function grade = convertGrade(score)
if score < 0 || score > 100
error('Score must be between 0 and 100.');
else
if score >= 90
grade = 'A';
elseif score >= 80
grade = 'B';
elseif score >= 70
grade = 'C';
elseif score >= 60
grade = 'D';
else
grade = 'E';
end
end
end
```
**使用`switch`语句:**
```matlab
function grade = convertGrade(score)
switch true
case score >= 90
grade = 'A';
case score >= 80 && score < 90
grade = 'B';
case score >= 70 && score < 80
grade = 'C';
case score >= 60 && score < 70
grade = 'D';
otherwise
if score < 0 || score > 100
error('Score must be between 0 and 100.');
else
grade = 'E'; % This should never happen, but included for completeness
end
end
end
```
阅读全文