c - 使用随机值开始循环,然后循环整个范围

标签 c loops for-loop

第一:例如,我生成一个范围在 030 之间的随机值。

第二:从范围中选择18

第三:需要在一个循环中从18 - 3017 - 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/

相关文章:

c - 仅当对 glib.h 使用 pkg-config --libs 时出现段错误

java - Pollard Rho 算法陷入循环

python - 战舰 python ,轮流重置棋盘

javascript - 循环nodejs中的setInterval

python - 在 Python 中将 .dbf 批量转换为 .csv

opengl - 删除过多的代码

c - 在c中的循环中添加指向动态指针数组的指针

c - 我如何在 Oracle Pro*C 文件中设置查询连接超时

algorithm - i 以变量(不是 1 或 0)开始的 for 循环的时间复杂度

将 int 转换为十六进制格式的字符串