c語言生成隨機數 組

2021-10-01 14:35:34 字數 774 閱讀 5396

int rand(void);

根據乙個數值按照某個公式推算出來的,這個數值稱之為「種子」。

隨機生成乙個位於 0 ~ rand_max 之間的整數。rand_max它的值至少為 32767。

種子在每次啟動計算機時是隨機的,但是一旦計算機啟動以後它就不再變化了,根據公式推算出來的結果(也就是生成的隨機數)就是固定的。

可以通過函式void srand(unsigned int seed);來重新播種。

其中unsigned int seed可以通過time()函式獲得srand((unsigned)time(0));之後再rand()即可。

若想獲得隨機數組

...

for(i=

0; i..

這樣的結果如下:

96

969696.

..

因為程式執行很快,每次獲得的時間(距離1970的秒數)相同。

想到的方法就是強行把時間+1,利用迴圈的引數,每次迴圈都把時間+i。

/* 生成隨機數組0-100 */

#include

#include

#include

#define size 100

intmain

(void

)return0;

}

C語言生成隨機數

1 關於c語言中有rand 函式來產生隨機數,但是初始seed為1,這樣做有乙個問題,即會產生固定序列的數,比如單獨呼叫rand 時會產生 1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 164976...

C語言 產生隨機數組

最近在學習c語言陣列,每次都要自己手輸入一些測試資料,很是麻煩,因此查了一下怎麼樣產生隨機數組,寫法固定,原始碼如下 include 產生隨機數,需要引入下面兩個標頭檔案 include include 設定陣列長度 define i arr lenth 300 int main 函式形參的含義依次...

C 生成無重複隨機數組

c 中生成隨機數可以使用rand 函式,可是如果想要生成無重複的隨機數組,單單使用這個就不行了,因為即使迴圈生成隨機數,賦值給陣列,也會有重複的,所以要使用以下的 include include include using namespace std void randperm int num ra...