c++如何产生0到1之间的随机数?用什么指令?
我用过rand(),好像每一次产生的随机数都是41。而且rand()/10这样的语句只能得到整数4,而不是4.1,这是为什么?
C++中用来产生随机数的函数为rand(), 其返回值为整数。
而0到1之间的随机数,明显是浮点数。
这样无法直接产生。
于是,必须经过转换。
转换思路为,生成一个0-N的随机数,然后对其除以N+1,则可以得到0-1直接的浮点型随机数。
N的确定,可以与要求的精度有关,比如需要三位小数,可以采用N=999,如需要四位,则采用N=9999,以此类推。
具体操作如下:
#include <cstdlib>