第一:例如,我生成一个范围在 0
到 30
之间的随机值。
第二:从范围中选择18
。
第三:需要在一个循环中从18 - 30
和17 - 0
循环。
可选:范围可以更改,这是一个示例。我需要在一个循环中循环它,从范围内生成的数字开始。我可以按什么顺序开始循环并不重要。问题是我必须使用范围内的随机数开始循环。
我只尝试过两个循环,如下所示:
int low;
int high;
/* Generate a random value from low to high*/
for (i = middleRand ; i < high; i++)
{
/* TODO*/
}
for ( i = middleRand - 1; i > low; i--)
{
/* TODO*/
}
但这不是我真正需要的,我想仅使用一个循环。
示例:
我有两个以并行方式创建的点。
第一个点以 0 - 29
开始循环,另一个点以 0 - 29
开始循环。
但我的目标是第一个点从范围 (18
) 中的随机数开始,第二个点从 11
开始。但所有两点都需要循环整个范围。
最佳答案
你的问题不太清楚。 但我可以说,如果我理解你的问题,那么你可以这样做:
int low;
int high;
int random_val = rand() % (high -low) + low;
for (int i = 0; i < high; i++) {
if (i > random_val) {
// low
} else {
// high
}
}
您可以用低循环的代码替换//low,用//high 替换高循环的代码
关于c - 使用随机值开始循环,然后循环整个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532768/