随机数表法题目(有一个20*20的数组,初值为0;现在要将20个非0数放在数组的任意20个位置上必须确保20个数都成功放入了)

:暂无数据 2026-07-24 03:30:02 :2

随机数表法题目(有一个20*20的数组,初值为0;现在要将20个非0数放在数组的任意20个位置上必须确保20个数都成功放入了)

各位老铁们好,相信很多人对随机数表法题目都不是特别的了解,因此呢,今天就来为大家分享下关于随机数表法题目以及有一个20*20的数组,初值为0;现在要将20个非0数放在数组的任意20个位置上必须确保20个数都成功放入了的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

有一个20*20的数组,初值为0;现在要将20个非0数放在数组的任意20个位置上必须确保20个数都成功放入了

/*
这道题目本质上是产生一组不同的随机数。
产生不同随机数我所用过的方法:
1. 每产生一个随机数便与已有随机数相比较, 如果相同, 则再产生一个,
这种方法在实际中可行, 但理论上并不是很能让人接受, 比如:我产生两个不同的随机数, 可能执行效率很高(因为在[0, RAND_MAX)范围内两次产生两个相同的随机数的概率很低), 假设有一种很坏的情况, 比如: 我想要产生398个400以内的随机数, 这种方法就不能接受了。
2. 现在来说, 目前我感觉比较好的第二种方法:
比如, 我要产生10个100以内的不同随机数, 那么可不可以这样考虑,
我先定义一个int arr,每个元素取值从1一直到100(1、2、3、……98、99、100)
int arr;
for (i = 0; i 《 100; i++) {
arr = i+1;
}
这个数组是有序的, 那么现在我随机打乱这个数组中数的顺序, 具体打乱方法:
int temp;
int random_index;
for (i = 0; i 《 100; i++) {
random_index = rand() % 100;
temp = arr;
arr;
arr = t;
}
上面算法很简单, 首先随机产生一个数组元素索引, 然后让这个元素和当前元素交换,
这样经过100次循环后, 数组中的元素就杂乱无章了。
下面讲上述算法怎么应用到这道题目中:
如果我要随机设置30*30的二维数组中20个元素为非0, 那么我需要得到20组随机的二维数组元素下标, 但是直接这样操作有点难度, 但是产生20个不同的随机数则很简单(用第二种算法)
下面我们这样做:
int num_box;
int index_box;
int i;
for (i = 0; i 《 900; i++) {
index_box = i;
}
然后用上面算法打乱这900个数的顺序使其排序随机化
由于我们只需要得到30个不同的数, 而index_box中900个数是随机排列的, 所以为了得到30个不同的随机数, 无论取index_box中的哪30个数都一样,所以我们只取数组的前30个数。
假设我们得到的30个数是225、303、17、……,我们只需要设置num_box中第225、303、17、……个元素为非零就可以了。
那么num_box中第225个元素的下标是什么呢?
行下标 = 225 / 30(列数) = 7
列下标 = 225 % 30(列数) = 15
这样我们只需设置num_box = 1即可。
如果对本算法有疑问可以HI我。
另外那个隐藏控制台窗口的pragma依赖于具体编译器、我用VC++6.0可以达到隐藏控制台的目的, 但是那段代码在codeblocks10.05下就起不到隐藏控制台的效果了。 至于你说的错误, 我就不知道是什么原因了。
*/
#include 《stdio.h》
#include 《stdlib.h》
#include 《string.h》
#include 《time.h》
#include 《assert.h》
#define NUMS 20 /* 二维数组中非零元素个数1~400均可 */
#define LINES 20
#define COLS 20
void create_rand_index(int index, int num)
{
int index_box;
int index_nums = LINES * COLS;
int randindex;
int i, t;
assert(num 《= RAND_MAX);
assert(num 《= index_nums);
for (i = 0; i 《 index_nums; i++) {
index_box = i;
}
for (i = 0; i 《 num; i++) {
randindex = rand() % index_nums;
t = index_box;
index_box;
index_box = t;
}
memcpy(index, index_box, num * sizeof(int));
}
int main(void)
{
int num_box = {0};
int non_zero_index;
int line, col;
int i, j;
srand((unsigned int)time(NULL));
create_rand_index(non_zero_index, NUMS);
for (i = 0; i 《 NUMS; i++) {
line = non_zero_index / COLS;
col = non_zero_index % COLS;
num_box = 1;
}
for (i = 0; i 《 LINES; i++) {
for (j = 0; j 《 COLS; j++) {
printf(num_box == 1 ? "■" : "□"); /* 为了方便查看 */
}
putchar(’\n’);
}
return 0;
}

审计技术与方法的3个题目

1. D注册会计师推断的存货总体错报=50500/50000*300000
2. (1)随机数表适用数字为:93 093,72 905,14 342,25 595,22 527,05 463,63 661,53 342,02 011,85 313
对应的发票号:3093,2905,4342,5595,2527,5463,3661,3342,2011,5313
(2)样本平均错报=(1000300-1000000)/10=30
推断的总体错报=样本平均错报*总体数量=30*4000
3.(1)随机间隔=72/6=12,第二笔为6+12,第三笔为6+12+12,以此类推
(2)Y公司2004年12月31日应付票据的总体实际价值=1680000/1400000*15000000

这道题怎么做

解:(1)将每个人编号,由0001至1003.
(2)利用随机数表法找到3个号,将这3个人排除.
(3)重新编号0001至1000.
(4)按编号顺序将号码等分为10段,每段100个,0001至0100为第1段.
(5)在第1段中用简单随机抽样法抽得一个号码l.
(6)按编号,将l,100+l,200+l,…,900+l共10个号选出.
这10个号对应的10个人就组成了一个样本.
打字不易,请采纳

关于随机数表法题目和有一个20*20的数组,初值为0;现在要将20个非0数放在数组的任意20个位置上必须确保20个数都成功放入了的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

随机数表法题目(有一个20*20的数组,初值为0;现在要将20个非0数放在数组的任意20个位置上必须确保20个数都成功放入了)

本文编辑:admin

更多文章:


blob视频下载器(blob链接的图片如何调用下载)

blob视频下载器(blob链接的图片如何调用下载)

各位老铁们,大家好,今天由我来为大家分享blob视频下载器,以及blob链接的图片如何调用下载的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月7日 03:30

中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)

中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)

各位老铁们,大家好,今天由我来为大家分享中文自动翻译成英语的输入法,以及有没有一种输入法能将打出来的中文自动变成英文的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们

2026年11月7日 02:10

equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)

equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)

其实equals to的问题并不复杂,但是又很多的朋友都不太了解为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗,因此呢,今天小编就来为大家分享equals to的一些知识,希望可以帮助

2026年11月7日 01:50

default values(电脑开机后出现all settings was reset to default values.)

default values(电脑开机后出现all settings was reset to default values.)

其实default values的问题并不复杂,但是又很多的朋友都不太了解电脑开机后出现all settings was reset to default values.,因此呢,今天小编就来为大家分享default values的一些知识

2026年11月7日 01:20

structured reviewing翻译(软件测试的英文翻译)

structured reviewing翻译(软件测试的英文翻译)

大家好,关于structured reviewing翻译很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于软件测试的英文翻译的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位

2026年11月7日 00:50

网站模板下载好以后(动态网站模板下载后怎么用)

网站模板下载好以后(动态网站模板下载后怎么用)

“网站模板下载好以后”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网站模板下载好以后(动态网站模板下载后怎么用)!

2026年11月6日 22:50

选项卡的作用(excel中的“数字”选项卡的功能)

选项卡的作用(excel中的“数字”选项卡的功能)

本篇文章给大家谈谈选项卡的作用,以及excel中的“数字”选项卡的功能对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年11月6日 22:20

vb手机版下载(有谁可以告诉我vb在哪里下载)

vb手机版下载(有谁可以告诉我vb在哪里下载)

“vb手机版下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看vb手机版下载(有谁可以告诉我vb在哪里下载)!

2026年11月6日 21:50

指针变量和指针的关系(变量指针和指针变量有什么区别和联系)

指针变量和指针的关系(变量指针和指针变量有什么区别和联系)

大家好,如果您还对指针变量和指针的关系不太了解,没有关系,今天就由本站为大家分享指针变量和指针的关系的知识,包括变量指针和指针变量有什么区别和联系的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年11月6日 21:30

dos命令清屏(Windows DOS内部命令详解04——del、ren、cls、ver、date、time)

dos命令清屏(Windows DOS内部命令详解04——del、ren、cls、ver、date、time)

“dos命令清屏”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看dos命令清屏(Windows DOS内部命令详解04——del、ren、cls、ver、date、time)!

2026年11月6日 15:40

最近更新

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)
2026-11-07 04:40:07 浏览:0
imei怎么查看(手机IMEI码如何查询)
2026-11-07 04:00:01 浏览:0
热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
标签列表