2-70.m

来自「MATLAB科学计算与工程分析源代码源程序1」· M 代码 · 共 52 行

M
52
字号
function grade_assess(Name,Score)
% 此函数用来评定学生的成绩
% Name,Score为参数,需要用户输入
% Name中的元素为学生姓名
% Score中元素为学分数
% 编写日期: 2007-5-6

% 统计学生人数
n=length(Name);

% 将分数区间划开:优(85-100),良(70-84),及格(60-70),不及格(60以下)
for i=0:15
    A_level{i+1}=85+i;
    if i<=14
        B_level{i+1}=70+i;
        if i<=9
            C_level{i+1}=60+i;
        end
    end
end

% 创建存储成绩等级的数组
Level=cell(1,n);

% 创建结构体S
S=struct('Name',Name,'Score',Score,'Level',Level);

% 根据学生成绩,给出相应的等级
for i=1:n
    switch S(i).Score
        case A_level
            S(i).Level='优';     %分数在85-100之间为“优”
        case B_level
            S(i).Level='良';     %分数在70-84之间为“良”
        case C_level
            S(i).Level='及格';   %分数在60-69之间为“及格”
        otherwise
            S(i).Level='不及格'; %分数在60以下为“不及格”
    end
end

% 显示所有学生的成绩等级评定
disp(['学生姓名',blanks(4),'得分',blanks(4),'等级']);
for i=1:n
    disp([S(i).Name,blanks(8),num2str(S(i).Score),blanks(6),S(i).Level]);
end

%我们随便构造一个姓名名单以及相应的分数来看一下程序的运行结果:
Name={'赵一','王二','张三','李四','孙五','钱六'};
Score={90,46,84,71,62,100};
grade_assess(Name,Score)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?