C++如何生成随机数

随机数的生成
1.最简单的随机数生成
只要产生随机数而不需要设定范围的话,只要用rand()就可以了,
rand()会返回一随机数值, 范围在0至RAND_MAX 间。
RAND_MAX定义在stdlib.h, 其值为2147483647。
代码如下:

# include 

using namespace std;
 int main()
 {
    for(int i=0;i<10;i++)
    {
        cout<10个随机数:
41
18467
6334
26500
19169
15724
11478
29358
26962
24464

2.获取一定范围内的随机数的话,对上面生成随机数作取余操作即可;
代码如下:

# include 

using namespace std;
 int main()
 {
    for(int i=0;i<10;i++)
    {
        cout<10<1
7
4
0
9
4
8
8
2
4

3.获取随机生成的小数,在上面操作的基础上,作除法操作即可;
代码如下:

# include 

# define    NUMMOD  20000 
# define    NUMDEV  10000.0
using namespace std;
 int main()
 {
    for(int i=0;i<10;i++)
    {
        cout<<(rand()%NUMMOD)/NUMDEV<0.0041
1.8467
0.6334
0.65
1.9169
1.5724
1.1478
0.9358
0.6962
0.4464

4.每次运行rand()函数,生成的随机数是不变的,如果用srand()函数就可以为rand()函数生成随机数种子,每次运行rand()函数的结果就会大不相同。

# include 
# include

# define    NUMMOD  10 
//# define  NUMDEV  10000.0
using namespace std;
 int main()
 {
    srand(time(0));//);//time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒
    for(int i=0;i<10;i++)
    {
        cout<<(rand()%NUMMOD)<"pause");
 }

这样,每次运行就会产生不同的随机数。

你可能感兴趣的:(C++)