1、rand()函數(shù),一般根srand()函數(shù)一起用。它們在一起,作用是:產(chǎn)生一個隨機數(shù)。通常格式為:srand ( (unsigned) time (NULL) );a=rand()%x; //a,x,均為整型變量,其中,x在之前應被賦值。
創(chuàng)新互聯(lián)聯(lián)系熱線:13518219792,為您提供成都網(wǎng)站建設網(wǎng)頁設計及定制高端網(wǎng)站建設服務,創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域10多年,包括成都VR全景等多個領(lǐng)域擁有豐富的營銷推廣經(jīng)驗,選擇創(chuàng)新互聯(lián),為企業(yè)錦上添花。
2、srand()函數(shù)需要的頭文件仍然是:stdlib.h srand()函數(shù)原型:void srand (usigned int seed);srand()用來設置rand()產(chǎn)生隨機數(shù)時的隨機數(shù)種子。參數(shù)seed是整數(shù),通常可以利用time(0)或getpid(0)的返回值作為seed。
3、返回值: 返回0至RAND_MAX之間的隨機整數(shù)值,RAND_MAX的范圍最小在32767之間。若用unsigned int 雙字節(jié)是65535,四字節(jié)是4294967295的整數(shù)范圍。且0-RAND_MAX每個數(shù)字被選中的機率是相同的。
4、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
生成隨機數(shù)時需要我們指定一個種子,如果在程序內(nèi)循環(huán),那么下一次生成隨機數(shù)時調(diào)用上一次的結(jié)果作為種子。但如果分兩次執(zhí)行程序,那么由于種子相同,生成的“隨機數(shù)”也是相同的。
在C語言中,rand()函數(shù)可以用來產(chǎn)生隨機數(shù),但是這不是真真意義上的隨機數(shù),是一個偽隨機數(shù),是根據(jù)一個數(shù),可以稱它為種子。
在C語言里所提供的隨機數(shù)發(fā)生器的用法:現(xiàn)在的C編譯器都提供了一個基于ANSI標準的偽隨機數(shù)發(fā)生器函數(shù),用來生成隨機數(shù)。它們就是rand()和srand()函數(shù)。
rand()是表示產(chǎn)生隨機數(shù)的一種函數(shù),多應用于循環(huán)語句當中進行判斷。比如說n=rand();switch(n){case..case..} 這些都是都可能被執(zhí)行的,因為數(shù)字是隨機的。
為了使rand的結(jié)果更“真”一些,也就是令其返回值更具有隨機性(不確定性),C語言在stdlib.h中還提供了srand函數(shù),通過該函數(shù)可以設置一個隨機數(shù)種子,一般用當前時間的毫秒數(shù)來做參數(shù)。
rand()函數(shù)作用:用來產(chǎn)生隨機數(shù),但是,rand()的內(nèi)部實現(xiàn)是用線性同余法實現(xiàn)的,是偽隨機數(shù),由于周期較長,因此在一定范圍內(nèi)可以看成是隨機的。
rand()是C語言中產(chǎn)生隨機數(shù)的一個函數(shù),但是需要注意的是,產(chǎn)生的是偽隨機數(shù)。