【问题标题】:Error in using rand function [closed]使用rand函数时出错[关闭]
【发布时间】:2016-07-07 01:36:21
【问题描述】:

我尝试使用 min = 4 和 max = 10 的 rand() 函数:

s = rand() % 10 + 4;

有些结果在10以上。这怎么可能?

【问题讨论】:

  • 你加4。你不想rand()%6+4吗?
  • 我认为 rand() % 6 + 4 有限制 [4,9]。rand() % 7 + 4 怎么样?

标签: c random


【解决方案1】:

您寻找的解决方案是rand() % 7 + 4,它将为您提供范围 [4, 10] 的结果。更一般地说,对于给定的 minmax 从 [min, max] 获取随机值,您可以选择 rand() % (max - min + 1) + min

【讨论】:

  • 非常感谢您的快速回复。我现在明白了!
【解决方案2】:

s = rand() % 7 + 4; 是你需要的,如果你想要4 <= s <= 10

这是因为4, 5, 6, 7, 8, 9, 10 是 7 个数字。 rand() % 7 给你一个从 0 到 6 的数字。加上 4,你会得到想要的随机数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    相关资源
    最近更新 更多