C語言隨機函式

2021-09-01 06:54:14 字數 879 閱讀 9395

1、rand()函式  

#include "stdio.h"

#include "stdlib.h"

#include "time.h"

int main(void)

其中rand()%100中的「100」是可變數,也就是隨機產生時的最大值(100-1=99)。產生隨機數的範圍是[0,100),如果不採用srand((unsigned int)time(null));程式會預設呼叫srand(1)。  偽整型隨機數[a,b)  如果要取得[a,b)之間的數,則 num = rand()%(b-a) + a;  偽浮點隨機數[a,b)  fnum = rand() /(double)(rand_max/(b-a)) + a;

注:a,b均為整數,a != b,且a >= 0;

2、srand函式是隨機數發生器的初始化函式。  原型:void srand(unsigned seed);用法:它需要提供乙個種子,這個種子會對應乙個隨機數,如果使用相同的種子後面的rand()函式會出現一樣的隨機數。如: srand(1); 直接使用1來初始化種子。不過為了防止隨機數每次重複常常使用系統時間來初始化,即使用 time函式來獲得系統時間,它的返回值為從 00:00:00 gmt, january 1, 1970 到現在所持續的秒數,然後將time_t型資料轉化為(unsigned)型再傳給srand函式,即: srand((unsigned) time(&t)); 還有乙個經常用法,不需要定義time_t型t變數,即: srand((unsigned) time(null)); 直接傳入乙個空指標,因為你的程式中往往並不需要經過引數獲得的t資料。srand((int)getpid()); 使用程式的id(getpid())來作為初始化種子,在同乙個程式中這個種子是固定的。

c語言 隨機函式

c語言 隨機函式 include rand srand 標準c庫中函式rand 可以生成0 rand max 之間的乙個隨機數,其中rand max 是stdlib.h 中定義的乙個整數,它與系統有關。rand 函式沒有輸入引數,直接通過表示式rand 來引用 例如可以用下面的語句來列印兩個隨機數 ...

隨機函式 C語言

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

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...