gpt4 book ai didi

c - 使用 srand() 避免重复生成种子

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:54 24 4
gpt4 key购买 nike

我有一个典型的情况,我需要生成一批随机数。我使用了一个循环,每次通过都会生成 100 个随机数:

for(int i=0; i<npasses; i++)
{
srand(time(NULL)); //Initialize seed

for(int j=0; j<100; j++)
printf("%d ", rand()%10);

printf("\n"); //New line after 100 numbers
}

现在,内部循环的执行时间不到一毫秒。因此,time() 的值没有变化。这将种子 (srand()) 重新初始化为相同的值,并且我的随机数被重复..

任何人都可以建议解决方法/修复。

最佳答案

srand 排除在外:

srand(time(NULL)); //Initialize seed
for(int i=0; i<npasses; i++)
{
for(int j=0; j<100; j++)
printf("%d ", rand()%10);

printf("\n"); //New line after 100 numbers
}

关于c - 使用 srand() 避免重复生成种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com