matlab使用struct记录学生的英语、数学、物理三门课的成绩。脚本的功能是:输入N个学生的这3门成绩,然后输出:每个学生的三门课平均分、三门课总分和三门课各自的成绩等级(A、B、C、D、E)(要求:调用第3题中的grade函数)。
时间: 2024-05-31 22:08:08 浏览: 28
MATLAB实现学生成绩查询系统_源代码程序
5星 · 资源好评率100%
% 定义一个空的结构体数组
students = struct('name', {}, 'english', {}, 'math', {}, 'physics', {});
% 输入N个学生的成绩
N = input('请输入学生人数:');
for i = 1:N
name = input(['请输入第', num2str(i), '个学生的姓名:'], 's');
english = input('请输入英语成绩:');
math = input('请输入数学成绩:');
physics = input('请输入物理成绩:');
% 将学生的成绩加入结构体数组
students(i).name = name;
students(i).english = english;
students(i).math = math;
students(i).physics = physics;
end
% 计算每个学生的三门课平均分、总分和各自的成绩等级
for i = 1:N
% 计算平均分和总分
avg_score = (students(i).english + students(i).math + students(i).physics) / 3;
total_score = students(i).english + students(i).math + students(i).physics;
% 计算各自的成绩等级
english_grade = grade(students(i).english);
math_grade = grade(students(i).math);
physics_grade = grade(students(i).physics);
% 将计算结果加入结构体数组
students(i).avg_score = avg_score;
students(i).total_score = total_score;
students(i).english_grade = english_grade;
students(i).math_grade = math_grade;
students(i).physics_grade = physics_grade;
end
% 输出每个学生的成绩情况
for i = 1:N
fprintf('%s的平均分为%.2f,总分为%d,英语成绩等级为%s,数学成绩等级为%s,物理成绩等级为%s\n', ...
students(i).name, students(i).avg_score, students(i).total_score, ...
students(i).english_grade, students(i).math_grade, students(i).physics_grade);
end
阅读全文