我使用srand(time(NULL))生成随机数。 知道为什么它总是给出随机数字吗?在我的情况下它给予了。请帮助我也需要奇数。 我需要0s,1s的集合。 例如:{1,1,0,0,1,0,0,0,1,1,0}
答案 0 :(得分:3)
呼叫
srand(time(NULL));
在程序开头只有一次,它会“随机播放”随机序列。
然后致电
rand();
它会返回0
到RAND_MAX
范围内的数字。
如果您只想要0或1,那么您可以尝试使用
int n = rand() % 2;
或
int n = rand() & 0x01;
答案 1 :(得分:0)
考虑初始化PRNG就像初始化变量一样......你没有
// pseudo-code
// print numbers from 1 to 10
do 10 times
number_to_print = 1
print number_to_print
number_to_print++
end loop
同样,srand()
只应在每个程序运行时调用一次。
call srand() // initialize PRNG
loop
rand()
end loop