c vc產生隨機數

2021-08-25 13:26:29 字數 755 閱讀 1294

int generaterandomnumber(int range_min, int range_max)

//下面使用的是rand_s方法的

unsigned int uint;

rand_s(&uint);

double dnum = ((double)uint / ((__int64)uint_max + 1) * (range_max - range_min) + range_min);

//下面的是使用rand方法的

//srand( (unsigned)time( null ) );

//double dnum = (double)((range_max - range_min) * rand() / (rand_max + 1)) + range_min;

int inum = static_cast(dnum);

return inum;

}

注:

如果使用rand_s函式,必須在 這個標頭檔案被包含之前定義巨集:_crt_rand_s

即: #define _crt_rand_s

#include

但是,如果你的程式使用的是mfc,因為在「stdafx.h」中包含了兩個標頭檔案「、」(它們中其實已經包含了 ),所以應該在兩個標頭檔案被包含之前(預編譯頭中)定義 _crt_rand_s

即: #define _crt_rand_s

#include

#include

產生隨機數

先說明一下rand,這個函式用來產生偽隨機數。比如,產生1000的兩個隨機數,產生的兩個一般上是不同的,但如果要產生80個100以內的隨機數,僅用rand函式就不夠。因為產生80個100以內的隨機數,至少有兩個數相等的概率太大了 srand函式,並不能使產生的隨機數完全不同。你可以執行以下這串 in...

隨機數產生

c c 中取隨機數 在計算機中並沒有乙個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。有關如何產生隨機數的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什麼方法實現隨機數發生器,都必須給它提供乙個名為 種子 的...

產生隨機數

一 normrnd r normrnd mu,sigma r normrnd mu,sigma,m,n,r normrnd mu,sigma,m,n,mu sigma可以是向量或矩陣 二者同為矩陣時size要相同 但必須和r的size相同 行 列 r的size可以不指定,也可以用m,n指定 n1 n...