需求:每次初始化不同的隨機數
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 }