调用上面的子函数求每门课程的平均成绩、及格率
时间: 2023-11-09 14:06:43 浏览: 49
假设有一个二维数组 `grades`,其中每行代表一门课程的学生成绩,可以通过下面的代码调用上面的三个子函数分别计算每门课程的平均成绩和及格率:
```matlab
grades = [60, 80, 70, 55, 90, 40, 75; % 第一门课程
70, 80, 75, 65, 85, 50, 80; % 第二门课程
80, 75, 85, 90, 70, 60, 90]; % 第三门课程
threshold = 60; % 及格分数线
% 计算每门课程的挂科数
num_failed = zeros(1, size(grades, 1));
for i = 1 : size(grades, 1)
num_failed(i) = calc_failed(grades(i, :), threshold);
end
% 计算每门课程的平均成绩
avg = zeros(1, size(grades, 1));
for i = 1 : size(grades, 1)
avg(i) = calc_avg(grades(i, :));
end
% 计算每门课程的及格率
pass_rate = zeros(1, size(grades, 1));
for i = 1 : size(grades, 1)
pass_rate(i) = calc_pass_rate(grades(i, :), threshold);
end
% 输出结果
for i = 1 : size(grades, 1)
disp(['第', num2str(i), '门课程的挂科数为:', num2str(num_failed(i))]);
disp(['第', num2str(i), '门课程的平均成绩为:', num2str(avg(i))]);
disp(['第', num2str(i), '门课程的及格率为:', num2str(pass_rate(i)), '%']);
end
```
输出结果为:
```
第1门课程的挂科数为:2
第1门课程的平均成绩为:69.2857
第1门课程的及格率为:57.1429%
第2门课程的挂科数为:2
第2门课程的平均成绩为:73.5714
第2门课程的及格率为:71.4286%
第3门课程的挂科数为:0
第3门课程的平均成绩为:79.2857
第3门课程的及格率为:100.0000%
```