关于产生随机数,想必大家都知道rand()这个函数。关于rand()函数这里介绍几点:
1.rand()函数不需要参数,直接通过表达式rand()使用;
2.rand()函数虽然说是产生随机数,但是只要程序执行,得到的随机数便是固定的。因此,并不是实际意义上的随机数。
所以介绍srand()这个函数,用以每次执行程序后,都能得到不同的随机数。
1.首先,我们必须提供一个随机种子,值为time(NULL)。
2.然后用srand(seed)函数给随机数生成器散播种子。只要种子不同,rand()函数就能够得到不同的随机数
当然,当你在1秒内执行多次程序,就能发现,能产生同样的随机数,这是因为种子是以秒计算的,在1秒内种子是固定的。
具体实现如下:
void rand(int *array, int length){
int i = 0;
int seed = time(NULL);
srand(seed);
if(array > 0 && length >0){
for(i = 0; i < length; i++){
array[i] = rand();
}
}
}