【急】MATLAB编程求助
2、有一组学生的考试成绩(见表)。根据规定,成绩在100分时等级为满分,成绩在90~99之间为优秀,成绩在80~89之间为良好,成绩在60~79之间为及格,成绩在60分以...
2、有一组学生的考试成绩(见表)。根据规定,成绩在100分时等级为满分,成绩在90~99之间为优秀,成绩在80~89之间为良好,成绩在60~79之间为及格,成绩在60分以下时为不及格,试编制函数文件,文件名为tj,无输入参数,使其满足
姓名 王 张 刘 李 陈 杨 于 黄 赵
成绩 72 83 56 94 100 88 96 68 81
【问题】1)、对成绩划分等级,存储在字符单元阵列dj中,其值与学生姓名相对应;同时统计不及格学生人数,将其保存在数据bjg中。
2)、对学生成绩进行统计分析、包括求出所有学生中的最高分l、最低分m,学生的平均成绩n,如果平均成绩大于85分,显示“该班学生学风优良”,并返回1,否则返回0。
【我写的程序】(运行结果有点问题,望大侠看看)
function y=tj (1分)
name={‘王’,’张’,’刘’,’李’,’陈’,’杨’,’于’,’黄’,’赵’}
cj=[72 83 56 94 100 88 96 68 81]; (1分)
count=0 %不及格学生人数
for i=1:9
if cj(i)==100
dj{i}=‘满分’;
elseif (cj(i)>89)&(cj(i)<100)
dj{i}=‘优秀’;
elseif (cj(i)>79)&(cj(i)<90)
dj{i}=‘良好’;
elseif (cj(i)>59)&(cj(i)<80)
dj{i}=‘及格’;
else
dj{i}=‘不及格’;
count=count+1;
end
end
bjg=count; (4分)
l=max(cj);
m=min(cj);
n=mean(cj); (3分)
if n>80
disp(‘该班学生学风优良’);
y=1;
else
y=0;
end 展开
姓名 王 张 刘 李 陈 杨 于 黄 赵
成绩 72 83 56 94 100 88 96 68 81
【问题】1)、对成绩划分等级,存储在字符单元阵列dj中,其值与学生姓名相对应;同时统计不及格学生人数,将其保存在数据bjg中。
2)、对学生成绩进行统计分析、包括求出所有学生中的最高分l、最低分m,学生的平均成绩n,如果平均成绩大于85分,显示“该班学生学风优良”,并返回1,否则返回0。
【我写的程序】(运行结果有点问题,望大侠看看)
function y=tj (1分)
name={‘王’,’张’,’刘’,’李’,’陈’,’杨’,’于’,’黄’,’赵’}
cj=[72 83 56 94 100 88 96 68 81]; (1分)
count=0 %不及格学生人数
for i=1:9
if cj(i)==100
dj{i}=‘满分’;
elseif (cj(i)>89)&(cj(i)<100)
dj{i}=‘优秀’;
elseif (cj(i)>79)&(cj(i)<90)
dj{i}=‘良好’;
elseif (cj(i)>59)&(cj(i)<80)
dj{i}=‘及格’;
else
dj{i}=‘不及格’;
count=count+1;
end
end
bjg=count; (4分)
l=max(cj);
m=min(cj);
n=mean(cj); (3分)
if n>80
disp(‘该班学生学风优良’);
y=1;
else
y=0;
end 展开
展开全部
function y=tj
name={'王','张','刘','李','陈','杨','于','黄','赵'}
cj=[72 83 56 94 100 88 96 68 81];
count=0; %不及格学生人数
for i=1:9
if cj(i)==100
dj{i}='满分';
elseif (cj(i)>89)&&(cj(i)<100)
dj{i}='优秀';
elseif (cj(i)>79)&&(cj(i)<90)
dj{i}='良好';
elseif (cj(i)>59)&&(cj(i)<80)
dj{i}='及格';
else
dj{i}='不及格';
count=count+1;
end
end
bjg=count
l=max(cj)
m=min(cj)
n=mean(cj)
if n>80
disp('该班学生学风优良');
y=1;
else
y=0;
end
matlab中你要输出的就不要加;,这样才会输出(还有注意字符都是半角的)
name={'王','张','刘','李','陈','杨','于','黄','赵'}
cj=[72 83 56 94 100 88 96 68 81];
count=0; %不及格学生人数
for i=1:9
if cj(i)==100
dj{i}='满分';
elseif (cj(i)>89)&&(cj(i)<100)
dj{i}='优秀';
elseif (cj(i)>79)&&(cj(i)<90)
dj{i}='良好';
elseif (cj(i)>59)&&(cj(i)<80)
dj{i}='及格';
else
dj{i}='不及格';
count=count+1;
end
end
bjg=count
l=max(cj)
m=min(cj)
n=mean(cj)
if n>80
disp('该班学生学风优良');
y=1;
else
y=0;
end
matlab中你要输出的就不要加;,这样才会输出(还有注意字符都是半角的)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询