C語言生成隨機數筆記

2021-10-19 12:42:26 字數 623 閱讀 4327

生成指定範圍內的隨機數字

rand()函式是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說c語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數。

使用 rand() 生成隨機數之前需要用隨機發生器的初始化函式 srand(unsigned seed)進行偽隨機數序列初始化,seed 又叫隨機種子,通俗講就是,如果每次提供的 seed 是一樣的話,最後每一輪生成的幾個隨機值也都是一樣的,因此叫偽隨機數,所以需要每次提供不同的 seed 達到完全的隨機,我們通常用時間函式 time(null) 作為 seed ,因為時間值每秒都不同。

rand()的值一般是0~32767,32767為最大值,但至少是32767。

rand()%10表示生成0~9之間的隨機數。

rand()%10+5表示生成5~14之間的隨機數。

#include

#include

//呼叫srand(unsigned seed)、rand()所需的標頭檔案

#include

//呼叫time(null)所需的標頭檔案

intmain

(void

)return0;

}

後記:慢慢學習中…

c語言生成隨機數筆記

include include include 利用時間來製造偽隨機數 intmain 以下一段話摘自 煙雨迷離半世殤 系統在呼叫rand 之後就自動呼叫srand 如果使用者在rand 之前呼叫srand 給引數seed指定乙個值,那麼rand 就會將seed的值作為產生偽隨機數的初始值,如果使用...

C 隨機數筆記

要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的隨機整數,使用 rand b a 1 a 要取得 a,b 的隨機整數,使用 rand b a a 1 通用公式 a rand n 其中的a是起始值,n是整數的範圍。要取得a到b之間的隨機整數,另一種表示 a int b ran...

C 隨機數筆記

rand 和srand 要一起使用,其中srand 用來初始化隨機數種子,rand 用來產生隨機數。因為預設情況下隨機數種子為1,而相同的隨機數種子產生的隨機數是一樣的,失去了隨機性的意義,所以為使每次得到的隨機數不一樣,用函式srand 初始化隨機數種子。srand 的引數,用time函式值 即當...