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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM