实际上rand()函数产生在0到RAND_MAX之间的随机数,因此你上边的算式没有一个好的确定范围你要的结果如下:((rand() / double(RAND_MAX)) * (b-a+1))+ a解释:rand()/double(RAND_MAX)产生0-1之间的浮点数,总体产生[a,b]之间的浮点数。
RAND() 产生 0-1 范围 的 随机数。RAND() * (b-a)+a 产生 a 到 b 范围的 随机数。你要小数,所以去掉前面的 化整函数 INT.