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