rus*_*ss0 3 c random numbers generator range
我试图找出一种方法,我可以使用srand和rand随机生成-1,0或1.然而,每当我这样做时,我只能得到生成范围内的值,而不是-1或1.
这是我试过的:
int value;
srand(time(NULL));
value=2*rand()/(RAND_MAX)-1;
Run Code Online (Sandbox Code Playgroud)
但是,执行时,我总是生成0.我希望能够偶尔生成-1和1.问题是我必须使用rand和srand,作为规范的一部分.任何帮助将不胜感激,并提前感谢:).
怎么样
value = (rand() % 3) - 1;
Run Code Online (Sandbox Code Playgroud)
表达rand() % 3产生之间的随机数0和2(含),然后减去一个之间得到-1和1(含).