C語言 C 中怎樣產生隨機數

2021-06-18 15:07:56 字數 1068 閱讀 1842

2008-03-14, 在

程式設計分類下, 1條

c語言/c++怎樣產生隨機數:這裡要用到的是rand()函式, srand()函式,c語言/c++裡沒有自帶的random(int number)函式。

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

例如:

#include#includevoid main()

(2)如果你要隨機生成乙個在一定範圍的數,你可以在巨集定義中定義乙個random(int number)函式,然後在main()裡面直接呼叫random()函式:

例如:隨機生成10個0~100的數:

#include#include#define random(x) (rand()%x)

void main()

(3)但是上面兩個例子所生成的隨機數都只能是一次性的,你第二次執行的時候輸出結果仍和第一次一樣。這與srand()函式有關。srand()用來設定rand()產生隨機數時的隨機數種子。在呼叫rand()函式產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在呼叫時會自動設隨機數種子為1。上面的兩個例子就是因為沒有設定隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。

srand()函式定義 : void srand (unsigned int seed);

通常可以利用geypid()或time(0)的返回值來當做seed

如果你用time(0)的話,要加入標頭檔案#include

例如:

#include#include#include#define random(x) (rand()%x)

void main()

這樣兩次執行的結果就會不一樣了!!

C語言 C 中怎樣產生隨機數

c語言 c 中怎樣產生隨機數 c語言 c 怎樣產生隨機數 這裡要用到的是rand 函式,srand 函式,c語言 c 裡沒有自帶的random int number 函式。1 如果你只要產生隨機數而不需要設定範圍的話,你只要用rand 就可以了 rand 會返回一隨機數值,範圍在0至rand max...

C語言 C 中怎樣產生隨機數

c語言 c 怎樣產生隨機數 這裡要用到的是rand 函式,srand 函式,c語言 c 裡沒有自帶的random int number 函式。1 如果你只要產生隨機數而不需要設定範圍的話,你只要用rand 就可以了 rand 會返回一隨機數值,範圍在0至rand max 間。rand max定義在s...

C語言 C 中怎樣產生隨機數

c語言 c 怎樣產生隨機數 這裡要用到的是rand 函式,srand 函式,c語言 c 裡沒有自帶的random int number 函式。1 如果你只要產生隨機數而不需要設定範圍的話,你只要用rand 就可以了 rand 會返回一隨機數值,範圍在0至rand max 間。rand max定義在s...