gpt4 book ai didi

c - 我想在 C 中生成随机值

转载 作者:行者123 更新时间:2023-11-30 17:42:09 24 4
gpt4 key购买 nike

我想问一下C中的随机值。

我的 C 程序的编码如下。

int random_a( int current_s,int r[num_s][num_a])
{
int i;
for(i=0;i<4;i++)
{
if(r[current_s][i] > -1) break;
}
return i;
}

例如条件

r[current_s][0] and r[current_s][2] > -1 

如果我运行我的程序,答案只有 i = 0 。但我想得到随机答案 0 和 2(不包括 1 和 3,因为 r[current_s][1]r[current_s][3] = -1 )。

按照我的计划,我想使用 (rand()%4) 获得 0 到 3 之间的随机值。 ;如果(r[current_s][i] > -1)是正确的我将返回该值。但如果(r[current_s][i] = -1)再次生成随机数,直到 r[current_s][i] > -1然后返回值。

我应该做什么?

最佳答案

假设 current_s 是包含 -1 或更大值的矩阵的行号,您可以使用以下代码:

int random_a(int current_a, int r[num_s][num_a])
{
if (current_a>num_s) return 0; //checking condition as current_a changes below
int i;
for (i=0;i<4;i++)
{
if(r[current_s][i] > -1) return i;
else if (r[current_s][i] && i==3) return (random_a(current_a+1,r[num_s][num_a])
else i++;
}
}

在这里您可以根据需要更改 current_a 。

关于c - 我想在 C 中生成随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20779533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com