希望在C中制作一个非常简单的随机数生成器方法。数字应该在0到24之间,例如可以是14.5f。
任何帮助都会很棒,谢谢!
答案 0 :(得分:7)
float getRand() {
float rnd = rand();
rnd /= RAND_MAX;
return rnd * 24.0f;
}
确保在使用之前使用srand
为随机数生成器播种。
答案 1 :(得分:4)
Mersenne_twister不仅非常简单,而且非常强大。
请参阅链接上的代码。
但是,如果您可以使用GPL License,请使用The GNU Scientific Library (GSL)特定支票Random-Number-Generator-Examples 来自Random-Number-Generation part of the manual
有很多东西,从简单的统一随机数到其他分布。
答案 2 :(得分:3)
看看linear congruential generators,即使我的数学知识不足,它们也很容易实现。
看起来我误解了原来的问题,我以为你想要推出自己的发电机(做作业,有趣等等)
答案 3 :(得分:3)
你可以使用C的内置随机数生成器来获得0到3万之间的整数:
`srand(time(NULL)); int x= rand();`
您只需要进行一些除法以获得十进制数而不是整数。