- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab实验(考试成绩排名)
编写一个学生成绩管理的函数程序:将学生成绩按五个等级划分:优秀(90以上),良好(80-90),中等(70-79),及格(60-69),不及格(60以下)对输入的学生成绩按五个等级划分并排序,打印学生姓名,得分,等级,并计算全班最高分、最低分、平均分。
clear
for i=1:10
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
end
c=[d,c];
Name=input(please input name:);
Score=input(please input score:);
n=length(Score);
Rank=cell(1,n); %构建Rank大小
S=struct(Name,Name,Score,Score,Rank,Rank);
for i=1:n
switch S(i).Score
case 100
S(i).Rank=满分;
case a
S(i).Rank=优秀;
case b
S(i).Rank=良好;
case c
S(i).Rank=及格;
case d
S(i).Rank=及格;
otherwise
S(i).Rank=不及格;
end
end
for i=1:n %排序
for j=i+1:n
if (S(i).ScoreS(j).Score)
temp=S(i);
S(i)=S(j);
S(j)=temp;
end
end
end
disp([学生姓名 ,得分 ,等级]) %排序完输出
for i=1:n
disp([S(i).Name,blanks(10),num2str(S(i).Score),blanks(6),S(i).Rank]);
end
s=0; %求平均分
for i=1:n
s=S(i).Score+s;
end
averscore=s/n;
t=S(1).Score; %最高分
for i=1:(n-1)
if(tS(i+1).Score)
t=S(i+1).Score;
end
end
m=S(1).Score; %求最低分
for i=1:(n-1)
if(mS(i+1).Score)
m=S(i+1).Score;
end
end
disp([平均成绩:,num2str(averscore,6)]);
disp([最高分:,num2str(t)]);
disp([最低分:,num2str(m)]);
运行结果:
please input name:{a,b,c,d,e}
please input score:{100 56 12 79 84}
学生姓名 得分 等级
a 100 满分
e 84 良好
d 79 及格
b 56 不及格
c 12 不及格
平均成绩:66.2
最高分:100
最低分:12
文档评论(0)