与产生随机数相关的函数

来源:互联网 发布:实业难做 知乎 编辑:程序博客网 时间:2024/06/08 02:22

例一:

srand(time(NULL));

rand() % 8;
分析:
(一)这是两个函数!一个是srand函数!这是在调用rand()这个函数之前使用的!rand()是一个产生随机数的函数!而srand是一个设置随机数种子的函数!通常这两个函数是一起使用的!来完成产生随机数的功能!而time(NULL)这个函数的返回值是作为srand函数的参数的!意思是以现在的系统时间作为随机数的种子来产生随机数!至于NULL这个参数。只有设置成NULL才能获得系统的时间!
(二)rand()%8:是产生0--7之间的随机数;
例二:
#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()的输出结果。

0 0