http://www.cnblogs.com/afarmer/archive/2011/05/01/2033715.html
關(guān)于生成隨機(jī)數(shù)的,寫的不錯.
rand() [0 RAND_MAX)
看一個實例
float value[10];
for(int i=0; i<10; i++){
value[10]=randomFloat();
printf("%f",value[i]);
}
float randomFloat(void){
srand((unsigned)time(NULL));
float r=(float)rand()/RAND_MAX;
return r;
}猜下值是多少?
答案是一樣的, 這是因為 srand((unsigned)time(NULL)) 在讀取的時候時間已經(jīng)固定了,所以無論怎樣值是一樣的;只要把 srand((unsigned)time(NULL))
移出for loop 答案就會變得不一樣.
double RandomDouble(int min, int max){
double d=min+((float)rand()/(RAND_MAX+1))*(max-min);
//[0, 1]
//[0, 1]
return d;
}
這是我寫的一個function , 返回[min, max ]的double值, 希望對你們有用.