隨機數產生器rand(),頭文件為#include<stdlib.h>
#include<stdio.h> #include<stdlib.h>int main() {int value;int i;for(i = 0; i < 10; i++){value = rand();printf("value = %d\n",value);}return 0; }
運行結果:
value = 41
value = 18467
value = 6334
value = 26500
value = 19169
value = 15724
value = 11478
value = 29358
value = 26962
value = 24464
?
? ?rand實際是偽隨機數產生器,每次調用rand產生的隨機數都是一樣的。
? ?所以需要配合srand函數-隨機數種子發生器來使用
? ?srand()的參數是整數。參數一樣,rand()產生的隨機數就是不一樣的,如果參數一樣,產生的隨機數就會一樣,所以還要配合time函數來使用
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() {time_t tm = time(NULL);srand(tm);int value;int i;for(i = 0; i < 10; i++){value = rand();printf("value = %d\n",value);}return 0; }
這樣配合系統時間,在srand函數中產生不同的隨機數種子,生成的隨機數就會不一樣了。
?