rand

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int i;
	srand(time(NULL));
	for(i = 0; i < 100; i++)
	printf("%d\t",rand() % 10);
	return 0;
}

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



rand() % 10 產生 0 ~9的數字

發佈了84 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章