Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 随机数,其范围为数组';s元素_C_Arrays_Random - Fatal编程技术网

C 随机数,其范围为数组';s元素

C 随机数,其范围为数组';s元素,c,arrays,random,C,Arrays,Random,作为C语言的新手,我正在努力熟悉随机数生成器。我知道如何获得某个间隔(比如1到100)之间的随机数,但我很好奇是否有可能得到一个数组元素内的随机数?我会用rand()来做这个吗?我试着在网上寻找这个挑战的答案,但没有找到解决办法。例如,如果我有一个数组: Array[10] = {50,26,29,10,78,12,45,83,39,55}; 我想创建一个随机数,它的结束值是数组中的一个数字,我该如何在C中实现这一点 只需选择一个随机索引并访问它 Array[rand() % 10]; 只需

作为C语言的新手,我正在努力熟悉随机数生成器。我知道如何获得某个间隔(比如1到100)之间的随机数,但我很好奇是否有可能得到一个数组元素内的随机数?我会用rand()来做这个吗?我试着在网上寻找这个挑战的答案,但没有找到解决办法。例如,如果我有一个数组:

Array[10] = {50,26,29,10,78,12,45,83,39,55};

我想创建一个随机数,它的结束值是数组中的一个数字,我该如何在C中实现这一点

只需选择一个随机索引并访问它

Array[rand() % 10];

只需生成一个随机数作为数组的索引,并在该位置读取该数字

const int index = rand() % (sizeof Array / sizeof *Array);
const int value = Array[index];

请注意,像这样使用模并不能提供最佳的随机数,但至少应该可以工作。

尝试获得一个随机索引

index = rand() % 10;

A[index]  // This gets a random value in your range

洗牌索引并从数组中选择数字。
man random
会将您推上轨道。为什么不获取一个介于0和9之间的随机数并输出arr[randomnumber]?提示:rand()%10谢谢!这很有帮助。我不知道如何在我的程序中实现rand()来实现这一点,但现在它看起来很简单。