【发布时间】:2013-02-17 21:05:01
【问题描述】:
我正在尝试找出一种可以使用 srand 和 rand 随机生成 -1,0 或 1 的方法。但是,每当我这样做时,我只能获得生成范围内的值,而不能获得 -1 或 1。
这是我尝试过的:
int value;
srand(time(NULL));
value=2*rand()/(RAND_MAX)-1;
但是,在执行时,我总是生成 0。我希望能够偶尔生成 -1 和 1。问题是我必须使用 rand 和 srand,作为规范的一部分。任何帮助将不胜感激,并提前感谢:)。
【问题讨论】:
-
记得在您的程序中调用
srand(time(NULL));不超过一次。尤其不要将其放在循环中或多次调用的函数中。
标签: c random numbers range generator