0

希望在 C 中创建一个非常简单的随机数生成器方法。数字应该在 0 到 24 之间,例如可以是 14.5f。

任何帮助都会很棒,谢谢!

4

4 回答 4

7
float getRand() {
  float rnd = rand();
  rnd /= RAND_MAX;
  return rnd * 24.0f;
}

确保srand在使用前为随机数生成器播种。

于 2009-04-19T20:17:39.673 回答
4

Mersenne_twister不仅非常简单,而且非常强大。

请参阅链接上的代码。

但是,如果您可以使用GPL License,请使用The GNU Scientific Library (GSL) specific check Random-Number-Generator-Examples from Random-Number-Generation part of the manual

那里有很多东西,从简单的均匀随机数到其他分布。

于 2009-04-19T20:24:53.730 回答
3

看看线性同余生成器,即使我的数学知识较差,它们也很容易实现。

看起来我误解了最初的问题,我以为你想推出自己的发电机(用于家庭作业、娱乐等)

于 2009-04-19T20:16:30.783 回答
3

您可以使用 C 的内置随机数生成器来获取 0 到 30,000 之间的整数,如下所示:

`srand(时间(NULL));
    诠释 x = 兰德();`

您只需要进行一些除法即可获得十进制数而不是整数。

于 2009-04-19T20:19:36.363 回答