11.1 产生随机数
在编写应用程序时,有时需要通过计算机自动产生随机数,C语言提供了两个随机数产生函数返回一个整型随机数。
1.rand()函数
rand()函数的原型如下:
int rand(void);
例如:
程序运行后将随机产生8个小于10的整数。使用rand()函数时,必须将其相应的头文件stdlib.h包含到程序中来。
实际上rand()函数得到的是一个伪随机数,多次调用时,只能得到一组相同顺序的随机数,但如果事先给出不同的随机种子,就能得到不同顺序的随机数。因此,在程序中为了得到真正的随机数,通常先给出不同的随机种子。C语言提供了随机数发生器函数srand(),其函数原型如下:
例如:
程序运行时,先输入一个随机种子,然后输出一组小于10的随机整数。如果输入的种子数相同,则给出的随机数相同;如果输入的种子数不同,则给出的随机数不同。
在程序中为了改善随机数的随机性,可以采用C语言提供的time()函数取系统时间作为随机种子。time()函数原型如下:
time_t time(time_t *timer);
time()函数以秒为单位,将当前系统时间和1970年1月1日格林威治时间00:00:00的间隔存入timer所指的位置中。timer不能为空指针。
例如:
每次运行程序时,由于随机种子不同,得到的随机数也不同。使用time()函数时,必须将其相应的头文件time.h包含到程序中来。
2.random()函数
random()函数原型如下:
int random(int num);
调用random()函数,将得到一个从0到num-1的随机数。该函数的功能及使用与rand()相类似。
例如:
每次运行本程序将得到8个不同的小于10的一组随机数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。