在C语言中,`rand()`函数默认生成一个0到`RAND_MAX`之间的伪随机数,其中`RAND_MAX`的值通常是32767。要控制生成的随机数的范围,可以使用取模运算和加法来实现。以下是几种常见的方法:
生成指定范围内的随机数
生成0到`max`之间的随机数:
```c
int randomNumber = rand() % (max + 1);
```
生成`min`到`max`之间的随机数:
```c
int randomNumber = rand() % (max - min + 1) + min;
```
示例
生成0到100之间的随机数:
```c
int randomNumber = rand() % 101;
```
生成50到100之间的随机数:
```c
int randomNumber = rand() % 51 + 50;
```
生成1到100之间的随机数:
```c
int randomNumber = rand() % 100 + 1;
```
初始化随机数种子
为了使随机数更加随机,需要在使用`rand()`函数之前先调用`srand()`函数来初始化随机数种子。通常使用当前时间作为种子:
```c
srand(time(NULL));
```
注意事项
`srand()`函数只需要在程序开始时调用一次,以确保随机数序列的一致性。
如果每次运行程序时都使用相同的种子,那么生成的随机数序列将是相同的。
通过上述方法,你可以轻松控制`rand()`函数生成的随机数的范围。