首页 百科知识 产生随机数

产生随机数

时间:2022-09-22 百科知识 版权反馈
【摘要】:在编写应用程序时,有时需要通过计算机自动产生随机数,C语言提供了两个随机数产生函数返回一个整型随机数。因此,在程序中为了得到真正的随机数,通常先给出不同的随机种子。C语言提供了随机数发生器函数srand(),其函数原型如下:程序运行时,先输入一个随机种子,然后输出一组小于10的随机整数。在程序中为了改善随机数的随机性,可以采用C语言提供的time()函数取系统时间作为随机种子。

11.1 产生随机数

在编写应用程序时,有时需要通过计算机自动产生随机数,C语言提供了两个随机数产生函数返回一个整型随机数。

1.rand()函数

rand()函数的原型如下:

int rand(void);

例如:

img715

程序运行后将随机产生8个小于10的整数。使用rand()函数时,必须将其相应的头文件stdlib.h包含到程序中来。

实际上rand()函数得到的是一个伪随机数,多次调用时,只能得到一组相同顺序的随机数,但如果事先给出不同的随机种子,就能得到不同顺序的随机数。因此,在程序中为了得到真正的随机数,通常先给出不同的随机种子。C语言提供了随机数发生器函数srand(),其函数原型如下:

img716

例如:

img717

img718

程序运行时,先输入一个随机种子,然后输出一组小于10的随机整数。如果输入的种子数相同,则给出的随机数相同;如果输入的种子数不同,则给出的随机数不同。

在程序中为了改善随机数的随机性,可以采用C语言提供的time()函数取系统时间作为随机种子。time()函数原型如下:

time_t time(time_t *timer);

time()函数以秒为单位,将当前系统时间和1970年1月1日格林威治时间00:00:00的间隔存入timer所指的位置中。timer不能为空指针

例如:

img719

每次运行程序时,由于随机种子不同,得到的随机数也不同。使用time()函数时,必须将其相应的头文件time.h包含到程序中来。

2.random()函数

random()函数原型如下:

int random(int num);

调用random()函数,将得到一个从0到num-1的随机数。该函数的功能及使用与rand()相类似。

例如:

img720

每次运行本程序将得到8个不同的小于10的一组随机数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈