rand()函数只能生成[ 0,RAND_MAX ]范围的整数,RAND_MAX是stdlib.h中的一个常数,在不同的系统中值不一样。
如果想生成一个[ a,b ]范围内的随机数,则采用rand()%(b-a+1)+a,但是这种做法仅对左右端点相差不超过RAND_MAX的区间的随机数有效
如果要生成更大的数,则采用(int)(round(1.0*rand()/RAND_MAX*(b-a)+a)),相当于这个浮点数就是[ a,b ] 范围内的比例位置。
1.0*rand()/RAND_MAX为[ 0,1 ]内的浮点数