1. 程式人生 > >c語言:隨機數rand()

c語言:隨機數rand()

計算機沒有辦法產生真正的隨機數的,是用演算法模擬,所以你只調用rand,每次出來的東西是一樣的。設定一個種子後,根據種子的不同,就可以產生不同的數了。而怎麼保證種子的不同呢?最簡單的辦法當然是用永遠在向前的時間。 srand(time(0)) ;//先設定種子
rand();//然後產生隨機數
Srand是種下隨機種子數,你每回種下的種子不一樣,用Rand得到的隨機數就不一樣。為了每回種下一個不一樣的種子,所以就選用Time(0),Time(0)是得到當前時時間值(因為每時每刻時間是不一樣的了)。 srand(time(0)) ; 就是給這個演算法一個啟動種子,也就是演算法的隨機種子數,有這個數以後才可以產生隨機數,
用1970.1.1至今的秒數,初始化隨機數種子。

參考案例

#include <stdlib.h>    
#include <stdio.h>    
#include <time.h>    
void main( void )    
{    
     int i;    
     srand(time(0));    
               
     /* 輸出 10 個隨機數. */    
     for( i = 0;   i < 10;i++ )    {

         printf( "%6d/n", rand() );  
      }
                  
}