C 當中隨機數的產生

2021-07-03 14:56:33 字數 765 閱讀 4835

在程式設計當中我們時常需要產生一些隨機數,c++當中隨機數的產生主要依靠兩個函式rand和srand,下面談談這兩個函式及其用法。

1. rand()

rand()會返回一隨機數值, 範圍在0至rand_max 間。rand_max定義在stdlib.hrand()產生的實際上是偽隨機數,例如如下**:

#include "stdafx.h"#include#include "ctime"using namespace std;int _tmain(int argc, _tchar* argv)system("pause");return 0;}

產生的結果:表面上看好像產生了10個隨機數,但是多試驗幾次就會發現,始終三這幾個數。如果要產生一定範圍內的隨機數的話可以直接採用取餘運算即可,例如產生10~20的隨機數可以這樣:10+rand()%10;如果要產生小數的話,可以採用先取餘再除的方法,例如:(rand()%1001)/1000.02.srand()srand()用來設定rand()產生隨機數時的隨機數種子。在呼叫rand()函式產生隨機數前,必須先利用srand()設好隨機數種子(seed), 如果未設隨機數種子, rand()在呼叫時會自動設隨機數種子為1。上面的兩個例子就是因為沒有設定隨機數種子,每次隨機數種子都自動設成相同值1 ,進而導致rand()所產生的隨機數值都一樣。通常可以利用time(0)的返回值來當做seed,time()定義在ctime當中。如果採用以下**:#include#includeusing namespace std;int main()}

就會發現,每次試驗的隨機數的結果變得不同了。

c 隨機數產生

我們在做能自動生成試卷的考試系統時,常常需要隨機生成一組不重複的題目,在.net framework中提供了乙個專門用來產生隨機數的類system.random。對於隨機數,大家都知道,計算機不可能產生完全隨機的數字,所謂的隨機數發生器都是通過一定的演算法對事先選定的隨機種子做複雜的運算,用產生的結...

C 隨機數產生

標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...

C 產生隨機數

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