回覆列表
-
1 # 使用者908425833711
-
2 # 我是阿嘛
rand()%m這個函式是隨機產生0到m-1的隨機數;比如rand()%10就是隨機產生0到9的隨機數。
拓展資料
使用C語言的rand函式,生成的是偽隨機數;
c語言之rand函式的使用
1、寫入標頭檔案
2、變數的定義
3、srand( (unsigned)time( NULL ) ); /*選取種子檔案*/
4、for( i = 0; i
{ k=rand()%100; /*儲存隨機數*/ printf( ” k=%d\n”, k ); /*輸出隨機數*/ } }
(1)此為隨機函式的一種產生方法
(2)如果只需一個,那麼可以省略迴圈控制
生成隨機數rand函式的用法:
函式rand()是真正的隨機數生成器,而srand()會設定供rand()使用的隨機數種子。如果你在第一次呼叫rand()之前沒有呼叫srand(),那麼系統會為你自動呼叫srand()。而使用同種子相同的數呼叫 srand()會導致相同的隨機數序列被生成。
srand((unsigned)time(NULL))則使用系統定時/計數器的值做為隨機種子。每個種子對應一組根據演算法預先生成的隨機數,所以,在相同的平臺環境下,不同時間產生的隨機數會是不同的,相應的,若將srand(unsigned)time(NULL)改為srand(TP)(TP為任一常量),則無論何時執行、執行多少次得到的“隨機數”都會是一組固定的序列,因此srand生成的隨機數是偽隨機數。
rand()%m這個函式是隨機產生0到m-1的隨機數;比如rand()%10就是隨機產生0到9的隨機數。 拓展資料 使用C語言的rand函式,生成的是偽隨機數; c語言之rand函式的使用 1、寫入標頭檔案 2、變數的定義 3、srand( (unsigned)time( NULL ) ); /*選取種子檔案*/ 4、for( i = 0; i <20;i++ ) /*迴圈控制20個隨機數的生成*/ { k=rand()%100; /*儲存隨機數*/ printf( ” k=%d ”, k ); /*輸出隨機數*/ } } (1)此為隨機函式的一種產生方法 (2)如果只需一個,那麼可以省略迴圈控制 生成隨機數rand函式的用法: 函式rand()是真正的隨機數生成器,而srand()會設定供rand()使用的隨機數種子。如果你在第一次呼叫rand()之前沒有呼叫srand(),那麼系統會為你自動呼叫srand()。而使用同種子相同的數呼叫 srand()會導致相同的隨機數序列被生成。 srand((unsigned)time(NULL))則使用系統定時/計數器的值做為隨機種子。每個種子對應一組根據演算法預先生成的隨機數,所以,在相同的平臺環境下,不同時間產生的隨機數會是不同的,相應的,若將srand(unsigned)time(NULL)改為srand(TP)(TP為任一常量),則無論何時執行、執行多少次得到的“隨機數”都會是一組固定的序列,因此srand生成的隨機數是偽隨機數。