好的我需要创建一个54到212之间的偶数随机数。唯一的问题是它必须在一个声明中完成。我有一个类在一个范围内生成随机数,但就像我说的,我想在一个语句中做到这一点。我想出了这个,但它没有正常工作。有什么想法吗?
int main()
{
srand( time(NULL));
int i;
i = (rand() % 106) * 2;
cout << i;
return 0;
}
答案 0 :(得分:9)
在区间[27, 106]
中生成任意数字并将其乘以2.您的问题是您没有下限。
int i = 2 * (27 + rand() % (106 - 27 + 1))
通常,要在[a, b]
中生成随机数,请使用:
int i = a + rand() % (b - a + 1)
要了解其工作原理,请尝试使用[2, 4]
,[3, 7]
等简单示例。