c語言 隨機函式

2021-06-05 11:26:48 字數 979 閱讀 8793

c語言 隨機函式

#include

rand()

srand()

標準c庫中函式rand()可以生成0~

rand_max

之間的乙個隨機數,其中rand_max 是stdlib.h 中定義的乙個整數,它與系統有關。

rand()函式沒有輸入引數,直接通過表示式rand()來引用;例如可以用下面的語句來列印兩個隨機數:

printf("random numbers are: %i %i\n",rand(),rand());

因為rand()函式是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說c語言的隨機並不是真正意義上的隨機。

為了時程式在每次執行時都能生成乙個新序列的隨機值,我們通常通過為隨機數生成器提供一粒新的

隨機種子

。函式 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函式就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。

當提供的種子相同時,隨機數序列也時相同的。而且當種子為1時,與不使用srand()函式時一樣的,也就是說rand()函式預設情況下初始化種子值為1;

在stdlib.h 中這兩個函式的原型是:

int rand();

void srand (unsigned int);

srand(time(0)); i=rand(); 這樣i就是乙個真正意義上的隨機數。rand()產生偽隨機數,srand函式提供種子,種子不同產生的隨機數序列也不同,所以通常先呼叫srand函式 time(0)返回的是系統的時間(從1970.1.1午夜算起),單位:秒,種子不同當然產生的隨機數相同機率就很小了。

#include#include#include/* 產生乙個 0 - n 內的整數。*/

#define n 100

int main()

}

隨機函式 C語言

有時對於一些程式,我是想寫乙個常用排序教程的合編 測試時需要輸入好多的測試資料,好麻煩呀,用隨機函式怎麼樣?好呀,不過得學隨機函式,好辦,baidu,做筆記如下吧 一 srand函式 srand函式是隨機數發生器的初始化函式。原型 void srand unsigned seed 用法 先提供乙個種...

C語言隨機函式

1 rand 函式 include stdio.h include stdlib.h include time.h int main void 其中rand 100中的 100 是可變數,也就是隨機產生時的最大值 100 1 99 產生隨機數的範圍是 0,100 如果不採用srand unsigne...

C語言隨機函式

1.rand 與srand 在c語言函式庫中包含了乙個產生隨機數的函式 int rand void 在函式庫中對這個函式的說明是 the rand function returns a pseudorandom integer in the range 0 to rand max.use the s...