标题：随机数表
概念
随机数表：也称乱数表，是由随机生成的从0到9十个数字所组成的数表，每个数字在表中出现的次数是大致相同的，它们出现在表上的顺序是随机的
内容
034743738636964736614699698162977424676242811457204253323732167602276656502671073290797853125685992696966827310503729315555956356438548246223162430990162277943949544354821737932378844217533157245506887704744767630163785916955567199810507175332112342978645607825242074428576086324409472796544917460962181807924644171658097983861962266238977584160744998311463224234240547482977777810745321408623628199550922611970056763138378594351283395008304234079688702917121340332038261389510374566218373596835087759712259347994957227788429545721664361600160815047233271434094559346849311693324350278987192015370049（以上只是部分）
意义
随机数表是统计工作者用计算机生成的随机数组成，并保证表中每个位置上出现哪一个数字是  随机数表[1]等概率的，利用随机数表抽取样本保证了各个个体被抽取的概率相等。
真正的随机数是使用物理现象产生的：比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器，它们的缺点是技术要求比较高。
而通常我们使用的随机数表是使用伪随机数，这些数列是“似乎”随机的数，实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机，因为它们实际上是可以计算出来的，但是它们具有类似于随机数的统计特征。
采用随机号码表法抽取样本，完全排除主观挑选样本的可能性，使抽样调查有较强的科学性。
用途
比如，对银行来说，银行的ID和密码非常脆弱。如果有随机数表，就可以防备此类事件。随机数表是指为每个客户指定各不相同的数字列表，申请时将该随机数表分配给客户，而不是按照一定的规律给出，这就安全很多。
再比如，要考察某公司的牛奶产品质量，想从800袋牛奶中抽取60袋，就可以在随机数表中选中一数，并用向上、下、左、右不同的读法组成60个数，并按牛奶的标号进行检测，虽然麻烦，但很常用。
详细的举一例：某企业要调查消费者对某产品的需求量，要从95户居民家庭中抽选10户居民码表法抽选样本。具体步骤如下： 　　第一步：将95户居民家庭编号，每一户家庭一个编号，即01～95。（每户居民编号为2数） 
第二步：在上面的表中，随机确定抽样的起点和抽样的顺序。假定从第一行，第9列开始抽，抽样顺序从左往右抽。（横的数列称“行”，纵的数列称为“列”） 
第三步：依次抽出号码分别是：86、36、96、47、36、61、46、98、63、71，共10个号码。由于96、98两个号码不在总体编号范围内，应排除在外。再补充两个号码：62、74。 
由此产生10个样本单位号码为：86、36、47、36、61、46、63、71、62、74。 
编号为这些号码的居民家庭就是抽样调查的对象。
实际生活中，这些随机数表起着很大的作用，所以很多人会专门去寻找随机数表产生器。
C语言编程产生随机数表
在C语言中,rand()函数可以用来产生随机数，但是这不是真真意义上的随机数，是一个伪随机数，是根据一个数，我们可以称它为种子，为基准以某个递推公式推算出来的一系数，当这系列数很大的时候，就符合正态分布，从而相当于产生了随机数，但这不是真正的随机数，当计算机正常开机后，这个种子的值是定了的，除非你破坏了系统，为了改变这个种子的值，C提供了srand()函数，它的原形是void srand( int a)。初始化随机产生器既rand()函数的初始值，即使把种子的值改成a; 从这你可以看到通过sand()函数，我们是可以产生可以预见的随机序列,那我们如何才能产生不可预见的随机序列呢？我们可能常常需要这样的随机序列。利用srand((unsign)(time(NULL))是一种方法，因为每一次运行程序的时间是不同的。在C语言里所提供的随机数发生器的用法：现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数，用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下： 1) 首先给srand()提供一个种子，它是一个unsigned int类型，其取值范围从0~65535；
2) 然后调用rand()，它会根据提供给srand()的种
3) 根据需要多次调用rand()，从而不间断地得到新的随机数；
4) 无论什么时候，都可以给srand()提供一个新的种子，从而进一步“随机化”rand()的输出结果。
下面是0~32767之间的随机数程序：
#include <stdlib.h>
#include <stdio.h>
#include <time.h> //使用当前时钟做种子
void main( void )
{int i;
srand( (unsigned)time( NULL ) ); //初始化随机数
for( i = 0; i <10;i++ ) //打印出10个随机数
printf( " %d\n", rand() );
}
根据上面的程序可以很容易得到0~1之间的随机数：
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
main( )
{int i;
srand( (unsigned)time( NULL ) );
for( i = 0; i < 10;i++ )
printf( "%5.2f\n", rand()/32767.0);
}
而产生1~100之间的随机数可以这样写：
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
main( )
{int i;
srand( (unsigned)time( NULL ) );
for( i = 0; i < 10;i++ )
printf( "%d\n", rand()%100+1);
}
__________________________________________________
include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
void main() 
{ 
int i; 
srand((unsigned)time(NULL)); 
i = rand() % 100; 
} 
这样产生的随机数就是0-99之间的， 
这二个函数的工作过程如下： 
1) 首先给srand()提供一个种子，它是一个unsigned int类型，其取值范围从0~65535； 
2) 然后调用rand()，它会根据提供给srand()的种子值返回一个随机数(在0到32767之间) 
3) 根据需要多次调用rand()，从而不间断地得到新的随机数； 
4) 无论什么时候，都可以给srand()提供一个新的种子，从而进一步“随机化”rand()的输出结果。
#include <stdlib.h> 
#include <time.h> 
main 
{ 
int i; 
srand(time(0)); //初始化随机种子 
i = rand(); //产生随机数 
} 
首先,加一个"#include<stdlib.h> 
然后设一个变量,如j,j=rand(),就可以给j赋一个1~32767的随机数,如果要获得一个随机函数的十位(其它类似),只需令j=j%10就行. 添加头文件 #include<time.h> 然后在文件中添加 srand((unsigned)time(NULL)); 
srand()是用来初始化随机种子数的，因为rand的内部实现是用线性同余法做的，它不是真的随机数，只不过是因为其周期特别长，所以有一定的范围里可看成是随机的. 上面是有个随机种子的说明及方法,为了避免重复.然后再 用 随机函数,rand() 就行了.头文件是 stdlib.h 
random() 产生随机数为 0或1 
random(n) 产生随机数为 0到n之间的一个随机数  
rand() 产生 0到32768之间的一个随机数