matlap,输入一个百分制成绩,要求输出成绩A+,A,B,C,D,E。其中100分为A+90~99为A,80~89为B,70~79为C,60~69分为D,60分一下为E,要求用switch语句实现,并判断输入成绩的合理性
时间: 2023-10-05 19:08:26 浏览: 123
可以使用如下代码实现:
```matlab
score = input("请输入成绩: ");
if score < 0 || score > 100
disp("输入成绩不合法,请输入0~100之间的整数!");
return;
end
switch floor(score / 10)
case 10
disp("成绩为A+")
case 9
disp("成绩为A")
case 8
disp("成绩为B")
case 7
disp("成绩为C")
case 6
disp("成绩为D")
otherwise
disp("成绩为E")
end
```
首先判断输入的成绩是否合法,如果不合法直接输出错误信息并结束程序;如果合法,则使用 switch 语句判断成绩等级并输出相应的结果。注意在 switch 语句中,我们使用 `floor(score / 10)` 将输入的成绩除以 10 取整,以判断成绩属于哪个区间。
相关问题
matlab输入一个百分制成绩,要求输出成绩等级
在MATLAB中,你可以编写一个简单的函数来将百分制成绩转换成等级。通常,A+、A、B+、B、C+、C、D+、D和F分别对应90分以上、80-49分、30-39分、20-29分和不及格。下面是一个示例函数:
```matlab
function grade = gradeConverter(score)
if score >= 90
grade = 'A+';
elseif score >= 80
grade = 'A';
elseif score >= 70
grade = 'B+';
elseif score >= 60
grade = 'B';
elseif score >= 50
grade = 'C+';
elseif score >= 40
grade = 'C';
elseif score >= 30
grade = 'D+';
elseif score >= 20
grade = 'D';
else
grade = 'F';
end
end
```
你可以通过调用这个函数并传入分数来获取相应的等级,例如:
```matlab
score = 85; % 输入一个成绩
grade = gradeConverter(score);
disp(['The grade for ', num2str(score), '% is ', grade]);
```
阅读全文