C 随机数,其范围为数组';s元素
作为C语言的新手,我正在努力熟悉随机数生成器。我知道如何获得某个间隔(比如1到100)之间的随机数,但我很好奇是否有可能得到一个数组元素内的随机数?我会用rand()来做这个吗?我试着在网上寻找这个挑战的答案,但没有找到解决办法。例如,如果我有一个数组: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]; 只需
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()来实现这一点,但现在它看起来很简单。