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