int main()
{
srand(time(NULL));
int r=rand();
}
Run Code Online (Sandbox Code Playgroud)
上面的函数可以生成任何数字,但如果我想从给定的一组值生成一个数字,该怎么办呢?
例如,如果我想从值中随机生成一个数字4,6,1,7,8,3.
有没有办法实现这个目标?
任何帮助,将不胜感激.
这很简单.创建一个数组.有你想要的输出(4,6,1,7,8,3).然后在数组中选择一个随机存储桶.% 6基本上选择值0 - 5作为数组中的索引.
int main()
{
srand(time(NULL));
int myArray[6] = { 4,6,1,7,8,3 };
int randomIndex = rand() % 6;
int randomValue = myArray[randomIndex];
}
Run Code Online (Sandbox Code Playgroud)
有关如何rand()进一步操纵的一些信息.
rand() % 7 + 1
说明:
rand()返回0到大数之间的随机数.
%7除以7后得到余数,这将是0到6之间的整数,包括0和6.
1将范围更改为1到7(包括1和7).