C/C++ 生成随机数
1.生成随机数的范围为[0,RAND_MAX]
例如[1,10]。
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
//RAND_MAX为stdlib.h文件中的一个常数,大小通常为32767
int main()
{
srand((unsigned int)time(NULL));//设置随机数种子
for(int i = 0; i < 10; i++)
{
printf("%d ", rand() % 10 + 1);
}
return 0;
}
2.生成[a,b]范围内的随机数时,且 b > 32767
例如[10000, 60000]
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
//1.0*rand(),将生成的数变为浮点数
//round(x)返回x的四舍五入整数值
int main()
{
srand((unsigned int)time(NULL));
for(int i = 0; i < 10; i++)
{
printf("%d ", (int)(round(1.0*rand()/RAND_MAX*50000+10000)));
}
return 0;
}
3.随机数引擎
c/c++老版本的rand()存在一