有時對於一些程式,(我是想寫乙個常用排序教程的合編),測試時需要輸入好多的測試資料,好麻煩呀,用隨機函式怎麼樣?好呀,不過得學隨機函式,好辦,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...