1. 使用 rand() 和 srand()
- 库:
<stdlib.h> 或 <cstdlib>
- 特点: 伪随机数生成器,简单易用。
1 #include <stdlib.h>
2 #include <time.h>
3
4 int main() {
5 srand(time(NULL)); // 初始化随机数生成器 int random_number = rand() %
6 100; // 生成 0 到 99 之间的随机数
7 printf("Random number: %d\n", random_number);
8 return 0;
9 }
-
rand 函数:rand 是 C 标准库中的函数,用于生成伪随机整数。伪随机数是根据一个固定的算法生成的,这个算法依赖于一个初始值,也就是种子(seed)。如果种子相同,那么每次调用 rand 生成的随机数序列都是一样的。
srand 函数:srand 函数用于设置 rand 函数的种子。通过改变种子的值,可以让 rand 生成不同的随机数序列。
如果不调用 srand 函数来设置种子,rand 函数会使用默认的种子值(通常是 1)。这就意味着每次程序运行时,rand 函数都会生成相同的随机数序列。
2. 使用random 库
- 库:
<random>
- 特点: 提供了多种随机数生成器和分布。
1 #include <random>
2 #include <iostream>
3
4 int main() {
5 std::random_device rd; // 真随机数生成器
6 std::mt19937 gen(rd()); // Mersenne Twister 引擎
7 std::uniform_int_distribution<> dis(0, 99); // 生成 0 到 99 之间的整数
8 int random_number = dis(gen);
9 std::cout << "Random number: " << random_number << std::endl;
10 return 0;
11 }