各种编程语言返回的随机数,实际上都是根据递推公式计算的一组数值,当序列足够长,这组数值近似满足均匀分布。 如果计算伪随机序列的初始数值(称为种子)相同,则计算出的伪随机序列相同。 要解决这个问题,需要在每次产生随机序列之前,先指定不同的种子。这样计算出来的随机序列就不会完全相同了,可以在调用rand()函数之前调用srand((unsigned)time(MULL))函数,不过要在头文件写(#include<time.h>与#include<conio.h>),这样以time函数值(即当前时间)作为种子数,因为两次调用rand函数时的时间通常是不同,这样就可以保证随机性了。 代码如下: 产生一样随机数的代码: #include<iostream> int main(){ 经过修改的代码: #include<iostream> int main(){ 这样就OK了。 |
|