c語言中rand()函數怎么用?


轉自:http://www.cppblog.com/noflybird/archive/2009/03/11/76194.aspx

rand(產生隨機數) 
相關函數 
srand 

表頭文件 
#include<stdlib.h> 

定義函數 
int rand(void) 

函數說明 
rand()會返回一隨機數值,范圍在0至RAND_MAX 間。在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。關於隨機數種子請參考srand()。 

返回值 
返回0至RAND_MAX之間的隨機數值,RAND_MAX定義在stdlib.h,其值為2147483647。 

范例 
/* 產生介於1 到10 間的隨機數值,此范例未設隨機數種子,完整的隨機數產生請參考 
srand()*/ 
#include<stdlib.h> 
main() 

int i,j; 
for(i=0;i<10;i++) 

j=1+(int)(10.0*rand()/(RAND_MAX+1.0)); 
printf("%d ",j); 



執行 
9 4 8 8 10 2 4 8 3 6 
9 4 8 8 10 2 4 8 3 6 





srand(設置隨機數種子) 
相關函數 
rand 

表頭文件 
#include<stdlib.h> 

定義函數 
void srand (unsigned int seed); 

函數說明 
srand()用來設置rand()產生隨機數時的隨機數種子。參數seed必須是個整數,通常可以利用geypid()或time(0)的返回值來當做seed。如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。 

返回值 

范例 
/* 產生介於1 到10 間的隨機數值,此范例與執行結果可與rand()參照*/ 
#include<time.h> 
#include<stdlib.h> 
main() 

int i,j; 
srand((int)time(0)); 
for(i=0;i<10;i++) 

j=1+(int)(10.0*rand()/(RAND_MAX+1.0)); 
printf(" %d ",j); 



執行 
5 8 8 8 10 2 10 8 9 9 
2 9 7 4 10 3 2 10 8 7

///////////////////其中涉及到存儲類static的應用,具體請參考c primer plus P336


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM