用MATLAB编写代码求解如下问题:随机生成1000个取值范围在080的整数进一步求出这1000个整数中出现次数最多的整数和出现次数次多的整数之差。
代码如下:
% 生成1000个随机整数
rng(1); % 设置随机数种子
data = randi([0 80],1,1000);
% 计算出现次数
count = zeros(1,81);
for i = 1:1000
count(data(i)+1) = count(data(i)+1) + 1;
end
% 找出出现次数最多和次多的整数
[max_count, max_idx] = max(count);
count(max_idx) = 0;
[sec_max_count, sec_max_idx] = max(count);
% 计算差值
diff = max_idx - sec_max_idx;
disp(['出现次数最多的整数为:', num2str(max_idx-1), ',出现次数为:', num2str(max_count)]);
disp(['出现次数次多的整数为:', num2str(sec_max_idx-1), ',出现次数为:', num2str(sec_max_count)]);
disp(['最多和次多整数之差为:', num2str(diff)]);
运行结果可能如下:
出现次数最多的整数为:33,出现次数为:17
出现次数次多的整数为:13,出现次数为:16
最多和次多整数之差为:20
``
原文地址: https://www.cveoy.top/t/topic/gXZW 著作权归作者所有。请勿转载和采集!