回覆列表
  • 1 # 使用者908425833711

    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生成的隨機數是偽隨機數。

  • 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生成的隨機數是偽隨機數。

  • 中秋節和大豐收的關聯?
  • 為何養豬戶會說“保育豬最難養呢?”,具體難在哪?如何避免?