m0_52014704 2021-10-15 20:06 采纳率: 87.5%
浏览 91
已结题

matlab题目结构体数组,求解

建立一个结构体的数组student,包括 3 个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个 3 行 10 列的数据表示 10 门课程(满分100分),且每门课程三个阶段的分数。 找到第 2 个人的分数并显示出来 2) 找到第 2 个人的每门课程 3 个阶段的平均分数并显示出来 3) 全班同学(指这 3 个学生)的 10 门课程的每门课程的平均分如何计算 出来?要求放到一个数组里。 找到这个班所有同学的姓名放到一个元胞数组里。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-10-15 20:56
    关注

    你好同学,代码供参考,

    rng(1);
    student(1).name = '赵小明'; student(1).age = 14; student(1).score = randi([1,100], 3,10);
    student(2).name = '钱小红'; student(2).age = 13; student(2).score = randi([1,100], 3,10);
    student(3).name = '孙小莉'; student(3).age = 15; student(3).score = randi([1,100], 3,10);
    % 第二个人的分数显示出来
    fprintf('第二个人的分数:\n')
    disp(student(2).score)
    fprintf('第二个人的每门课程 3 个阶段的平均分数:\n')
    % 找到第 2 个人的每门课程 3 个阶段的平均分数并显示出来
    disp(mean(student(2).score,1))
    % 三个人没门课的平均分
    fprintf('三个人的每门课程的平均分数:\n')
    s = student(1).score;
    for i = 2:numel(student)
        s = s +  student(i).score;
    end
    disp(mean(s,1)/3)
    % 找到这个班所有同学的姓名放到一个元胞数组里
    Names = {student(:).name}
    
    

    结果显示如下:

    第二个人的分数:
        10    54    69    76    29    45    29    68    50    15
        43    70    84    99    79    91    14    22     6    59
        96    32     2    75    11    30     2    27    58    70
    
    第二个人的每门课程 3 个阶段的平均分数:
      列 1 至 7
    
      49.666666666666664  52.000000000000000  51.666666666666664  83.333333333333329  39.666666666666664  55.333333333333336  15.000000000000000
    
      列 8 至 10
    
      39.000000000000000  38.000000000000000  48.000000000000000
    
    三个人的每门课程的平均分数:
      列 1 至 7
    
      43.111111111111114  34.777777777777779  51.444444444444450  64.333333333333329  40.666666666666664  53.000000000000000  44.333333333333336
    
      列 8 至 10
    
      54.444444444444450  51.222222222222221  53.333333333333336
    
    
    Names =
    
      1×3 cell 数组
    
        {'赵小明'}    {'钱小红'}    {'孙小莉'}
    
    

    有帮助望采纳哟

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月15日

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面