gpt4 book ai didi

c - 从数组中随机数并在 C 中删除

转载 作者:行者123 更新时间:2023-11-30 20:48:40 25 4
gpt4 key购买 nike

我正在编写一个非常简单的程序,但我似乎无法让它正常工作。我想从一个包含 1-69 之间的数字的数组开始,然后从该数组中随机选择 5 个数字而不重复。我不想只是打乱数组并获取前 5 个数字。我希望它更像是凭空想象出来的数字,概率就是它应该的样子。例如:

数组1[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

数组2[]

//我希望它从Array1中随机选择一个元素,将其从Array1中删除,然后将其放入Array2中。然后重复这个过程,直到我从 Array1 中随机抽取 5 个数字而不重复。

非常感谢任何帮助!谢谢!

P.s.我正在用 C 语言编写这个项目。

最佳答案

伪代码:

  1. 创建 69 元素数组 A[],其值为 [1 ... 69]。 长度= 69;

  2. 随机创建索引index = rand()%Length;

  3. 将索引元素 A[index] 与数组元素 A[Length-1] 交换。

  4. 递减:长度--

  5. 重复步骤 2-4 四次。

  6. A[] 的最后五个元素是所需的集合 - 没有重复。

注意:代码不会打乱整个数组 - 这会浪费时间。

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

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