【MATLAB基础】创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,并对成绩数据进行简单处理,并对十名学生按照成绩排序 | 您所在的位置:网站首页 › matlab用if语句输入学生成绩 › 【MATLAB基础】创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,并对成绩数据进行简单处理,并对十名学生按照成绩排序 |
程序解决问题描述: 首先创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,分别求出十名学生的总成绩和平均成绩,最后按照总成绩对十名学生进行排序,并在命令窗口依次打印出1-10名的学生的姓名。 程序代码如下: person=struct('name',{'liu','hui','ying','li','bee','fly','kik','sun','ming','see'},'xuehao',{101,102,103,104,... 105,106,107,108,109,110},'math',{80,81,82,60,55,90,48,89,78,96},'MATLAB',{78,88,... 89,90,96,86,82,70,60,88},'wuli',{85,81,82,67,55,80,88,89,88,96},'English',{78,88,... 69,93,96,85,82,76,60,77},'huaxue',{85,81,62,66,55,80,78,89,98,96},'shengwu',{75,81,92,67,55,82,88,89,88,96}); disp(person); disp(person(1)) x1=[person.math]; s=[person.math; person.MATLAB; person.wuli; person.English; person.huaxue; person.shengwu]; n={person.name}; l=length(x1); disp(n) disp('各学生的总成绩分别为:') x=sum(s); disp(x) a=x/6; disp('各学生的平均成绩分别为:') disp(a) [B,suoy]=sort(x,'descend'); disp('排列名次为:') for i=1:10 e=B(i); d=find(x==e); disp(n(d)) end程序运行结果如下: 看到这里的小伙伴别忘了点个赞再走哦! 关注博主学习更多MATLAB基础知识! |
CopyRight 2018-2019 实验室设备网 版权所有 |