gpt4 book ai didi

c - 在C中生成从-n到n的随机数

转载 作者:太空狗 更新时间:2023-10-29 14:53:03 24 4
gpt4 key购买 nike

我想生成从 -n 到 n 不包括 0 的随机数。有人可以提供 C 代码吗?如何排除0?

最佳答案

一个想法可能是生成范围 [1,2n](含)内的随机数 x。如果 x 大于 n,则返回 -(x - n),否则只返回 x

这应该有效:

int my_random(int n)
{
const int x = 1 + rand() / (RAND_MAX / (2 * n) + 1);

return x > n ? -(x - n) : x;
}

参见 comp.lang.c FAQ有关如何安全使用 rand() 的更多信息;它解释了上述用法。

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

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