VC中自带一个略有些弱智的伪随机数发生器
#include<stdlib.h>
用法:
srand(int seed); 初始化
rand(); 实际产生随机数
存在的问题:
(1)在大量的发生随机数之前,必须调用srand(int seed),否则每次产生的随机数将是完全相同的数列,而且seed不能使用固定的数(0,1等),这样等同于没用调用srand,一般常规的调用方法可以使用:srand(::GetTickCount());
(2)随机数的发生范围,rand()是一个整数发生器,产生的最大整数为VC内部定义的一个宏常量,大概为32767(记不准了)。通用的手法是:rand()%MAX_NUM。但是当所需要的随机数范围超过32767时,这样的手法就变得不可取了。一个简单的灵活变通为:rand()/(double)(32767)*MAX_NUM;