rand()与srand()

标准库中包含一个可移植的实现伪随机数发生器的函数rand以及一个初始化种子数的函数srand。

unsigned long int next = 1;



/*rand函数:返回0~32767之间的伪随机数*/

int rand(void)

{

	next = next * 1103515245 + 12345;

	return (unsigned int)(next/65535)%32768;

}



/*srand函数:为rand()函数设置种子数*/

void srand(unsigned int seed)

{

	next = seed;

}

函数rand()生成介于0和RAND_MAX之间的伪随机整数序列。其中RAND_MAX是在<stdlib.h>中定义的符号常量。下面是一种生成大于等于0但小于1的随机浮点数的方法:

#define frand() ((double)rand())/(RAND_MAX + 1.0)

你可能感兴趣的:(r)