c++ rand隨機數生成(隨機種子設置)

需求:每次初始化不一樣的隨機數spa

一、默認code

//這樣用每次都會產生相同數字
#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;
}

二、隨機種子blog

//這樣用就不同了
#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;
}

三、隨機種子-固定io

 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 }
相關文章
相關標籤/搜索