C 隨機數的產生方法

2021-08-09 06:43:33 字數 1117 閱讀 5111

如果你只要產生隨機數而不需要設定範圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 範圍在0至rand_max 間。rand_max定義在stdlib.h, 其值為2147483647。

**如下(10個隨機數):

#include

using

namespace

std;

int main()

如果想要獲取在一定範圍內的數的話,直接做相應的取餘即可。 **如下:

#include

using

namespace

std;

int main()

如何獲取小數呢?例如:我們可以先獲得10000以內的整數(0~10000),然後再用這個整數除以10000得到小數。 **如下:

#include

using

namespace

std;

int main()

上面已經可以獲取隨機數了,我們通過多次執行發現,該程式雖然生成了10個隨機數,但是這個10個隨機數是固定的,也就是說並不隨著時間的變化而變化這與srand()函式有關。srand()用來設定rand()產生隨機數時的隨機數種子。在呼叫rand()函式產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在呼叫時會自動設隨機數種子為1。 上面的例子就是因為沒有設定隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。 srand()函式定義 :

void srand (unsigned int seed);

通常可以利用geypid()或time(0)的返回值來當做seed 如果你用time(0)的話,要加入標頭檔案ctime,time(0)或者time(null)返回的是系統的時間,單位:秒

**如下:

#include

#include

using

namespace

std;

int main()

隨機數產生方法

隨機數的產生 現在的 c編譯器都提供了乙個基於 ansi標準的偽隨機數發生器函式,用來生成隨機數。它們就是 rand 和 srand 函式。這二個函式的工作過程如下 1 首先給 srand 提供乙個種子,它是乙個 unsigned int型別,其取值範圍從0 65535 2 然後呼叫 rand 它會...

產生隨機數的方法

產生隨機數的方法 使用兩個陣列 ran1,ran2。ran1 儲存的是資料,我們將其值設為其下標。ran2 儲存的是隨機資料,將 ran1 中隨機到的資料儲存到 ran2中。取完乙個資料後將 ran1 陣列中的最後乙個數移動到下標為隨機數的那個位置。n的位置改為 m,m是不斷變化的,即取出隨機數後剩...

產生隨機數的方法

在c c 中,如果想要產生乙個隨機數,需要用到的是rand 函式和srand 函式 rand 函式返回0 rand max 32767 的整數。產生隨機數,不設定範圍 include using namespace std int main 產生對應範圍內的隨機數 include using nam...