2024年4月26日发(作者:)

c++中的随机函数(rand,sand)的用法[转载]

学习园地 2007-05-28 13:37:50 阅读243 评论2 字号:大中小 订阅

首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,

下面将详细说明。

rand(产生随机数)

表头文件: #include

定义函数 :int rand(void)

函数说明 :

因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周

期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至

RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果

未设随机数种子,rand()在调用时会自动设随机数种子为1。rand()产生的是假随机数字,

每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。

返回值:

返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之

间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295

的整数范围。

0~RAND_MAX每个数字被选中的机率是相同的。

范例:

/* 产生介于1 到10 间的随机数值,此范例未设随机数种子,完整的随机数产生请参

srand()*/

#include

main()

{

int i,j;

for(i=0;i<10;i++)

{

j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

printf("%d ",j);