c++ rand随机数生成(随机种子设置)

Posted xiaoniu-666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ rand随机数生成(随机种子设置)相关的知识,希望对你有一定的参考价值。

需求:每次初始化不同的随机数

1、默认

//这样用每次都会产生相同数字
#include <stdlib.h>
#include <stdio.h>
#define N 10
int main(void) 
    int i;
    for (i = 0; i < N; i++) printf("%d", rand()%100+1);
    return 0;

2、随机种子

//这样用就不一样了
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define N 10
int main(void) 
    int i;
    srand(time(NULL)); /*根据当前时间设置“随机数种子”*/
    for (i = 0; i < N; i++) printf("%d", rand()%100+1);
    return 0;

3、随机种子-固定

 1 //这样用会产生同样的数字
 2 #include <stdlib.h>
 3 #include <stdio.h>
 4 #define N 10
 5 int main(void) 
 6     int i;
 7     srand(20); /*随便一个数字,只要是不变的*/
 8     for (i = 0; i < N; i++) printf("%d\n", rand()%100+1);
 9     printf("\n");
10     srand(20); /*和上面的数字一样*/
11     for (i = 0; i < N; i++) printf("%d\n", rand()%100+1);
12     return 0;
13 

 

以上是关于c++ rand随机数生成(随机种子设置)的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver 中rand()是产生随机数,为啥还要设置种子?

C++:随机数生成

c++随机数生成

函数RAND啥意思

C++ 实现随机数生成(WindowsLinux)

C语言 rand()伪随机数函数怎么生成随机数种子?(srand(time))(生成[m, n]范围内随机数方法)