燕岑yancen 2022-04-17 21:21 采纳率: 33.3%
浏览 95
已结题

编写奖金问题的matlab语言程序(求解)

过年了,村里要庆祝一下。村长对村里的128个村民说:做一个游戏,让每个人把出生年+月+日得到一个数。例如:1995年11月8日=1995+11+8=2014。然后把这个数报上来。村里有一笔钱要作为游戏的奖金,数额为M元(在程序中可以用常量固定为一个数)。如果有人报上来的数字与M相同,就把这笔钱发给这些人。如果只 有一个人得奖,奖金都归这个人。如 果有多于一个人得奖,则他们平分这 笔钱。现在让我们来写一段程序算算 都有哪些人得到了奖金?得到多少?

以下是我的程序,但是运行结果不对劲
lucky_m=5; %幸运数字.在原程序中需要重复输入128个数据才能显示运行结果。太过繁琐。所以在此只计算10个村民的。
population=10; %村民人数
sum_nms=0;
n=0;
disp('请输入population个村民报的数字:')
nms=zeros(1,population);
for i=(1:population)
nms(i)=input('输入数字:');
end
for i=1:population
sum_nms=sum_nms+nms(i);
end
for i=1:population
if nms(i)==lucky_m
n=n+1; %统计获奖村民人数
disp('获奖村民是第i个:')
i; %输出是第几个村民获奖
end
end
disp('共有n个村民获奖: ')
n;
disp('获奖村民获得的奖金数:')
ave=sum_nms/n; %获奖村民获得的奖金数

  • 写回答

1条回答 默认 最新

  • czy1219 2022-04-17 21:34
    关注

    我用了随机生成的10个数,就不用手动输入了,最后输出奖金的时候需要判断一下,修改后代码如下:

    clear all
    clc
    lucky_m=5; %幸运数字.在原程序中需要重复输入128个数据才能显示运行结果。太过繁琐。所以在此只计算10个村民的。
    population=10; %村民人数
    sum_nms=0;
    n=0;
    % disp('请输入population个村民报的数字:')
    %nms=zeros(1,population);
    nms=round(rand(1,10)*10);
    % for i=(1:population)
    %     nms(i)=input('输入数字:');
    % end
    for i=1:population
        sum_nms=sum_nms+nms(i);
    end
    for i=1:population
        if nms(i)==lucky_m
            n=n+1; %统计获奖村民人数
            disp('获奖村民是第i个:')
            i %输出是第几个村民获奖
        end
    end
    disp('共有n个村民获奖: ')
    n
    disp('获奖村民获得的奖金数:')
    if n==0
        ave=0
    else
        ave=sum_nms/n %获奖村民获得的奖金数
    end
    
    

    如果帮助到你请采纳哦!

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

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月17日

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏