gpt4 book ai didi

c - 生成不同的随机数

转载 作者:行者123 更新时间:2023-11-30 15:29:45 25 4
gpt4 key购买 nike

我试图生成 0 到 800 之间的 100 个不同的随机数,并重复随机数生成 10 次,然后使用逗号分隔数字,但我遇到了问题。在此示例中,我使用 2D 数组来实现此目的,但我似乎无法使其正常工作。

int main(void)
{
int table[10][10];
int i;
int nSize = sizeof(table)/sizeof(int);

for (i = 0; i < nSize; i++)
{
for (j = 0; j < nSize; j++)
printf("%d,",table[i][j] = rand() % 800);
}
printf("\n");
}

输出应该类似于以下内容:

1, 3, 500, 400, 322, ...
2, 5, 200, 321, 212, ...
500, 433, 421, 354, 545, ...
..
..
..
..
..
..
500, 321, 314, 434, 343, ...

以上为示例,并非实际值。

最佳答案

  1. table 的其中一个维度应为 100,因为您有 100 个随机数。
  2. 在内循环中,您应该确保尚未生成随机数,或者(更复杂且更高效)使用某种洗牌算法。
  3. rand() % 800 是否生成 0 到 800 之间的数字?

关于c - 生成不同的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081720/

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