gpt4 book ai didi

c - 在C中的两点之间选择随机数

转载 作者:太空狗 更新时间:2023-10-29 15:20:25 24 4
gpt4 key购买 nike

我想知道,是否可以在 c 中的两个极限之间生成一个随机数。 IE。我的程序是这样设置的:

function x
{
generate random number;
}

while(1)
{
function x;
delay
}

所以基本上我希望每次调用函数时生成一个随机数,但该数字必须介于 100 和 800 之间

我知道 stdlib.h 中已经有一个名为 random 和 randmize 的函数我只是不知道如何创建上限和下限

谢谢

最佳答案

首先,不要忘记为您的 PRNG 播种一次且仅一次:

srand(time(NULL));

那么,这个函数应该做你想做的事。
(轻微测试,似乎有效)

int RandRange(int Min, int Max)
{
int diff = Max-Min;
return (int) (((double)(diff+1)/RAND_MAX) * rand() + Min);
}

在您的情况下,您需要:

x = RandRange(100, 800);  /* x will be between 100 and 800, inclusive */

这使用 float 学,它可能比模 (%) 算法慢,但偏差较小。

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

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