已知某班学生的期末成绩汇总,利用Matlab构建求平均数、挂科数目、及格率的子函数
时间: 2023-07-10 12:16:39 浏览: 57
好的,下面是三个子函数的代码实现:
求平均数:
```matlab
function [avg] = calc_avg(grades)
% 计算平均数
% 参数 grades:学生成绩数组
n = length(grades);
sum = 0;
for i = 1 : n
sum = sum + grades(i);
end
avg = sum / n;
end
```
挂科数目:
```matlab
function [num_failed] = calc_failed(grades, threshold)
% 计算挂科数目
% 参数 grades:学生成绩数组
% 参数 threshold:及格分数线
n = length(grades);
num_failed = 0;
for i = 1 : n
if grades(i) < threshold
num_failed = num_failed + 1;
end
end
end
```
及格率:
```matlab
function [pass_rate] = calc_pass_rate(grades, threshold)
% 计算及格率
% 参数 grades:学生成绩数组
% 参数 threshold:及格分数线
n = length(grades);
num_pass = 0;
for i = 1 : n
if grades(i) >= threshold
num_pass = num_pass + 1;
end
end
pass_rate = num_pass / n;
end
```
这三个子函数可以分别调用,也可以写一个主函数调用三个子函数来实现完整的功能。