隨機函式 C語言

2021-06-17 18:31:28 字數 1981 閱讀 6686

有時對於一些程式,(我是想寫乙個常用排序教程的合編),測試時需要輸入好多的測試資料,好麻煩呀,用隨機函式怎麼樣?好呀,不過得學隨機函式,好辦,baidu,做筆記如下吧:

一、srand函式

srand函式是隨機數發生器的初始化函式。

原型:void srand(unsigned seed);

用法:先提供乙個種子,相同種子會對應相同的隨機數,

為了防止隨機數每次重複,常常使用系統時間來初始化,使用 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())來作為初始化種

子,在同乙個程式中這個種子是固定的。

eg:1

隨機輸出十個0-100之間的整數

#include //用到了srand,rand

函式,所以要有這個標頭檔案

#include #define max 10//這應該算乙個好習慣吧,向其學習

int main( void)
;   //10個數字
int i;
unsigned int seed;//srand要求
scanf("%d",&seed);/*手動輸入種子*/
srand(seed);
for(i = 0; i < max; i++)
printf("\n");
return 0;
}
eg:2

#include #include #include /*用到了time函式,所以要有這個標頭檔案*/

#define max 10

int main( void)

;    int i;

srand((unsigned) time(null)); /*播種子*/

for(i = 0; i < max; i++)

printf("\n");

return 0;

}

eg3:(c++)

#include #include #include using namespace std;

int main()

double random(double start, double end)

先寫到這裡吧。

c語言 隨機函式

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

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