當前位置

首頁 > 商務英語 > 計算機英語 > c語言rand函數的用法

c語言rand函數的用法

推薦人: 來源: 閱讀: 2.47W 次
ing-bottom: 66.56%;">c語言rand函數的用法
在C語言中,rand()函數可以用來產生隨機數,但是這不是真真意義上的隨機數,是一個僞隨機數,是根據一個數,我們可以稱它爲種子,爲基準以某個遞推公式推算出來的一系數,下面我們來看看c語言rand函數的用法。  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