C語言中產生隨機數

2021-07-07 07:03:33 字數 1373 閱讀 4323

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

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

例如:

[cpp] view plaincopy

#include#includeint main(int argc, char *argv)

printf("\n");

return 0;

}

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

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

[cpp]view plain

copy

#include

#include

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

int main(int argc, char *argv)  

printf("\n");  

return 0;      

}  

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

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

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

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

例如:[cpp]view plain

copy

#include

#include

#include

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

int main(int argc, char *argv)  

printf("\n");  

return 0;  

}  

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

在C語言中,產生隨機數的方法

在c語言的程式設計過程中,時常需要產生隨機數,其中常用到的函式是rand 和srand 函式,因為這兩個函式是被宣告在標頭檔案stdlib.h中,所以需要包含該標頭檔案。rand 函式會返回0到乙個固定常數之間的任意整數。該常數被定義在stdlib.h標頭檔案中。srand 函式使用自變數n作為種子...

VC中產生隨機數

需要的標頭檔案 stdlib.h 庫函式 srand rand time 方法 1.首先設定種子srand unsigned time null 使用當前時間作為種子是多數人的習慣做法 2.產生隨機數 rand 可以產生乙個隨機數 範圍在0 rand max 32767 之間 如果要產生乙個 min...

C語言中隨機數的產生

在c語言中,可以用srand 和time 來構成隨機數的種子 而srand 被包涵在stdlib.h的標頭檔案中,time 被包涵在time.h的標頭檔案中,例如 include include include srand unsigned time null 構成乙個種子 geuss srand ...