gpt4 book ai didi

c - C中的随机数

转载 作者:太空狗 更新时间:2023-10-29 16:36:54 25 4
gpt4 key购买 nike

for(i = 0; i < n; i++){
srand(time(NULL));
printf("%d ", time(NULL));
for(j = 0; j < (n-1); j++){
a[i][j] = rand();
}
}

我尝试生成随机数,但它们是相同的...我尝试 srand(i * time(NULL))。不管..我该怎么办?

数组声明:

int** a;
int i;
printf("Enter array size: ");
scanf("%d", &n);

a = (int**)calloc(n, sizeof(int));
for(i = 0; i < n; i++)
a[i] = (int*)calloc(n-1, sizeof(int));

最佳答案

在循环外调用 srand()。您在每次迭代中重新播种。

srand() 为随机数生成器提供种子,因此您可以根据输入获得不同的随机数序列。您的循环运行得非常快,因此对 time(NULL) 的调用总是返回相同的值。每次迭代都将重置为相同的随机序列。作为一般规则,在您的程序中只调用一次 srand()

关于c - C中的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2449456/

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