C 语言 rand() 函数指南:在您的程序中生成随机数99


简介

C 语言的 rand() 函数用于生成伪随机数。这些随机数可用于各种应用程序,例如模拟、游戏和密码学。

函数原型int rand(void);

返回值

rand() 函数返回一个介于 0 和 RAND_MAX 之间的伪随机整数。RAND_MAX 的值是编译器实现定义的。

示例#include
#include
int main() {
// 初始化随机数生成器
srand(time(NULL));
// 生成 10 个随机数
for (int i = 0; i < 10; i++) {
// 生成并打印一个随机数
int random_number = rand();
printf("%d", random_number);
}
return 0;
}

种子随机数生成器

rand() 函数使用一个内部状态来生成随机数。此状态由一个种子值初始化。默认情况下,种子值是系统时间的秒数。但是,可以使用 srand() 函数自定义种子值。#include
#include
int main() {
// 使用特定种子值初始化随机数生成器
srand(1234);
// 生成 10 个随机数
for (int i = 0; i < 10; i++) {
// 生成并打印一个随机数
int random_number = rand();
printf("%d", random_number);
}
return 0;
}

生成特定范围内的随机数

要生成特定范围内的随机数,可以使用 rand() 函数和模运算符(%)。以下示例生成介于 1 和 100 之间的随机数:#include
#include
int main() {
// 初始化随机数生成器
srand(time(NULL));
// 生成 10 个介于 1 和 100 之间的随机数
for (int i = 0; i < 10; i++) {
// 生成一个随机数并将其限制在 1 到 100 的范围内
int random_number = rand() % 100 + 1;
printf("%d", random_number);
}
return 0;
}

生成浮点随机数

要生成浮点随机数,可以使用 rand() 函数和 (double) RAND_MAX。以下示例生成介于 0.0 和 1.0 之间的随机浮点数:#include
#include
int main() {
// 初始化随机数生成器
srand(time(NULL));
// 生成 10 个介于 0.0 和 1.0 之间的随机浮点数
for (int i = 0; i < 10; i++) {
// 生成一个随机数并将其转换为双精度浮点数
double random_number = (double) rand() / (double) RAND_MAX;
printf("%f", random_number);
}
return 0;
}

rand() 函数的局限性

值得注意的是,rand() 函数生成的随机数并不是真正随机的。它们是根据一个确定的算法生成的,并且如果知道了种子值,就可以预测它们。对于需要真正随机数的应用程序,建议使用更高级的随机数生成器,例如 /dev/urandom。

2024-11-07


上一篇:C 语言库函数:深入解析

下一篇:输出菱形号C语言:全面解析