srand()函数就是用来生成一个随机数种子,以此实现真随机数
ctime 是个函数库,我们想用系统时间也作为随机数种子就得用ctime,这里的time时函数库里的名词,所以我们定义变量名字的时候不要用这个,一面引起麻烦。
#include <iostream>
#include <ctime>
using namespace std;
const int MAX = 100;
int main()
{
srand((unsigned)time(0));//srand()函数产生一个以当前时间开始的随机种子
for (int i = 0; i < 10; i++)
cout << rand() % MAX << endl;//MAX为最大值,其随机域为0~MAX-1
}
预期结果:
下面讲解rand函数的用法。
srand()是用来生成随机数种子的,而rand才是真正利用srand生成的种子用来生产随机数的。
产生一定范围随机数的通用表示公式是:
取得[0,x)的随机整数:rand()%x;
取得[a,b)的随机整数:rand()%(b-a)+a;
取得[a,b]的随机整数:rand()%(b-a+1)+a;取得(a,b]的随机整数:rand()%(b-a)+a+1;
取得0-1之间的浮点数:rand()/double(RAND_MAX)。