【问题标题】:Setting max and min values for creating a random number [duplicate]设置用于创建随机数的最大值和最小值 [重复]
【发布时间】:2020-05-10 02:51:57
【问题描述】:

我正在尝试生成 2 到 11 之间的随机数,这是我的代码:

srand(time(NULL));

int card;
card = rand() % 11 + 2;

但是,目前我的代码正在创建 2-12 的数字。我该如何解决这个问题,以便它创建 2-11 的数字?

【问题讨论】:

标签: c++ random numbers


【解决方案1】:

range % 11 有 11 个可能的值(0 到 10),但是您想要 10 个可能的值(2 到 11),所以您首先将您的 mod 更改为 % 10。接下来,由于rand() % 10返回的值是从0开始的,而你想从2开始,就加2。所以:

card = rand() % 10 + 2;

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
  • 2019-04-14
  • 2023-04-10
  • 2015-05-07
  • 2011-02-09
相关资源
最近更新 更多