【问题标题】:C : How can I create random numbers certain range? [duplicate]C:如何创建一定范围内的随机数? [复制]
【发布时间】:2016-01-23 15:04:28
【问题描述】:

我想创建一些特定的随机数,例如从 10 到 20。

rand()%20;

是从 0 到 19 创建的

【问题讨论】:

  • 所以创建一个从 0 到 10(含)的随机数,然后再加上 10。
  • y=mx+c ....................

标签: c random


【解决方案1】:

应用一些简单的算术

int val = min + (rand() % range);

范围是(max - min) + 1

10-20 之间的随机数只是0-10 之间的随机数移位+10

【讨论】:

  • 从结果分布的均匀性的角度来看,模除法并不是最好的主意。
  • @void_ptr 是的,但这适用于大多数用途。
  • @chux 很好。谢谢
  • @JustinMeiners 和它的这种态度就是软件有这么多错误的原因。
猜你喜欢
  • 2016-07-24
  • 2017-11-06
  • 2021-03-02
  • 1970-01-01
  • 2020-06-20
  • 2021-07-24
  • 1970-01-01
  • 2014-01-29
  • 2011-03-01
相关资源
最近更新 更多