今天来更新一下关于随机数生成器的应用。
众所周知,在C里面,最简单的随机数生成器是rand()函数。但由于其是伪随机的,因而我们在使用它的时候一般都会用srand()来控制。进一步详细的说明可以参见百度百科。
那么废话不多说,首先给出最简单的rand()用法:
// srand所在的头文件
#include<stdlib.h>
// time参数所在头文件
#include <time.h>
...
// 生成 [0,1) 的随机数(double)
double rng()
{
double f;
f = 1.0 * rand() / RAND_MAX;
return f;
}
int main(void)
{
...
srand(time(0)) //设置rand()产生随机数时的随机数种子
// 参数(0)必须是个整数,如果每次都设相同值,那么rand()所产生的随机数值每次就会一样。
...
}
有意思的是,time(1)与time(0)似乎并没有什么区别,关于这两个的讨论可以参见:
https://stackoverflow.com/questions/8049556/what-s-the-difference-between-srand1-and-srand0
另外&#