matlab输入6个学生的成绩,输出每个学生的成绩等级:优秀(90-100),良好(80-89),及格(60-79),不及格(<60);统计优秀率和不及格率。
时间: 2024-10-22 16:21:51 浏览: 16
在MATLAB中,你可以使用数组操作和条件语句来完成这个任务。首先,假设你有学生成绩的数据存储在一个向量`scores`中,每个元素代表一个学生的成绩。以下是一个简单的步骤说明:
1. 输入数据:
```matlab
scores = [85, 92, 78, 68, 98, 55]; % 6个学生的成绩
```
2. 定义成绩等级函数:
```matlab
function grade = calculateGrade(score)
if score >= 90
grade = '优秀';
elseif score >= 80
grade = '良好';
elseif score >= 60
grade = '及格';
else
grade = '不及格';
end
end
```
3. 应用等级函数并创建新向量`grades`:
```matlab
grades = cellfun(calculateGrade, scores);
```
4. 统计优秀率和不及格率:
```matlab
num_students = length(scores);
num_excellent = sum(strcmp(grades, '优秀'));
num_unsatisfactory = sum(strcmp(grades, '不及格'));
excellent_rate = num_excellent / num_students * 100;
unsatisfactory_rate = num_unsatisfactory / num_students * 100;
% 输出结果
disp('优秀人数:', num_excellent, ', 优秀率:', excellent_rate, '%');
disp('不及格人数:', num_unsatisfactory, ', 不及格率:', unsatisfactory_rate, '%');
```
现在你已经有了每个学生的成绩等级,并计算了优秀率和不及格率。
阅读全文