C語言 產生隨機數
阿新 • • 發佈:2018-08-02
計算機 隨機數種子 see 定義 int include i++ srand函數 這一
rand()函數
#include <stdlib.h>
int rand(void);
rand()是根據某個種子,以特定的算法,計算出一系列數的函數。返回的數在0和RAND_MAX之間。RAND_MAX定義在stdlib.h中,至少是32767。
然而,這生成的是偽隨機數,因為種子在計算機開機後就設定好了,所以這一系列數都是可預測的,每次得出的數列都是相等的。想要得到真正的隨機數,必須重新設定這個種子。
srand()函數
#include <stdlib.h>
void srand(unsigned int seed);
srand(seed)是C語言中,用於設定隨機數種子的函數,通常用時間作為seed,每次運行的時間都不同,所以產生的隨機數種子也不同。srand(time(NULL))
如何產生隨機數
- 調用srand(time(NULL)),設置隨機數種子
- 反復調用rand(), 產生隨機數
#include <stdlib.h> #include <stdio.h> #include <time.h> void main( void ) { int i; srand((unsigned)time(NULL)); for(i = 0; i < 10; i++) { printf("%d\n", rand()); } }
C語言 產生隨機數