C 语言中 random 函数的用法188


C 语言中的 random 函数是一个用于生成伪随机数的库函数。伪随机数是指通过算法而非实际随机性产生的数字序列,它们具有随机性的外观,但实际上是可以预测的。

要使用 random 函数,需要先包含 stdlib.h 头文件,其中定义了该函数。下面是一个示例代码,它使用 random 函数并打印一个随机数:```c
#include
#include
int main() {
int random_number;
// 初始化随机数生成器,使用时间作为种子
srand(time(NULL));
// 生成一个随机数
random_number = rand();
// 打印随机数
printf("随机数:%d", random_number);
return 0;
}
```

在上面的示例中:* srand 函数用于初始化随机数生成器。种子是一个值,它决定了随机数序列的起始点。使用 time(NULL) 作为种子可确保每次执行程序时生成不同的随机数序列。
* rand 函数生成一个伪随机数并将其返回。

random 函数生成的随机数是一个介于 0 和 RAND_MAX 之间的整数,其中 RAND_MAX 是一个表示最大可能随机数的常量。默认情况下,RAND_MAX 的值为 32767,但可以根据系统而异。

获得特定范围内的随机数

可以通过使用模运算符 (%) 来获得特定范围内的随机数。以下示例代码生成一个介于 1 和 100 之间的随机数:```c
int random_number = rand() % 100 + 1;
```

在这个表达式中:* rand() % 100 生成一个介于 0 和 99 之间的随机数。
* + 1 将范围转换为 1 到 100。

生成浮点随机数

random 函数还可用于生成浮点随机数。以下示例代码生成一个介于 0.0 和 1.0 之间的随机浮点数:```c
double random_number = (double)rand() / (double)RAND_MAX;
```

在这个表达式中:* (double)rand() 将随机整数转换为浮点数。
* (double)RAND_MAX 将 RAND_MAX 转换为浮点数。
* 除法操作生成一个介于 0.0 和 1.0 之间的浮点数。

重新播种随机数生成器

可以通过重新调用 srand 函数,使用不同的种子,来重新播种随机数生成器。以下示例代码使用当前时间作为种子重新播种生成器:```c
srand(time(NULL));
```

重新播种生成器可确保生成不同的随机数序列。

2024-12-18


上一篇:C 语言中输出星号的技巧

下一篇:输出横排:C 语言实现横向打印