我正在创建一个随机数生成器,每当我运行当前代码块时,我总是会得到一些超过预期限制的数字。它的工作方式是我有一组随机生成的数字,从 36 到 75,调整后的数字比原始数字高 5 个,低 5 个。例如,我最终会得到 75 以上的数字。最高的是 105。 这只是 6 个数字中的一个。
//Displays picks for Number 4
pick4 = (rand() % 75) + 36;
if (pick4 == pick3)
pick4 = (rand() % 75) + 36;
if (pick4 + 5 < 75 + 1)
{
if (pick4 - 5 > 0)
{
adjHighPick4 = pick4 + 5;
adjLowPick4 = pick4 - 5;
}
}
最佳答案
当你想得到一个从A
到B
的随机整数时,你只需要一个从0
到B-A的随机整数
,向其中添加 A
。因此,您应该编写 rand() % 39 + 36
而不是 rand() % 75 + 36
(A=36, B=75, B-A= 39
)
关于c++ - Rand 在从最大为 75 的数字 (36) 开始时如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28528499/