C語言連續生成多個隨機數(可限制範圍)

2021-10-02 04:56:50 字數 914 閱讀 7942

在現實中我們經常用到隨機數,可怎麼實現呢,且聽小喬慢慢道來。

在c語言中,我們一般使用 標頭檔案中的 rand() 函式來生成隨機數

int

void

rand

()

可是卻發現生成的數字都一樣。

這是因為rand()

函式產生的隨機數是偽隨機數,是根據乙個數值按照某個公式推算出來的,而這個數值由乙個公式計算得來,這個值在電腦啟動後是不變的。在這裡我將這個公式比作乙個種子,現在我們就要修改這個種子。

常用的方法是用srand修改種子。

srand用法

void srand(unsigned int seed)

為了使種子是不斷變化的我們使用到了時間函式time()(要在 time.h 標頭檔案下使用)

srand((

unsigned

int)

time

(null))

;

此時看一下**及執行結果

int

main()

}

輸出的結果不相同了

這是因為time(null)是隨毫秒變化的,種子變化極快,所以成無序性

設範圍區間為(max,min);

那麼只需rand%(max-min+1)+min即可

**

int

main()

}

C語言生成隨機數

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

C語言隨機數的生成

在程式設計中,我們經常需要生成隨機數,例如,貪吃蛇遊戲中在隨機的位置出現食物,撲克牌遊戲中隨機發牌等。在c語言中,我們一般使用 標頭檔案中的 rand 函式來生成隨機數,它的用法為 int rand void void 表示不需要傳遞引數。c語言中還有乙個 random 函式可以獲取隨機數,但是 r...

C 隨機數生成

using system using system.collections.generic using system.text namespace createrandomno return sb.tostring 生成大寫字母隨機數 public static string getabcpwd i...