C++随机数生成指定范围,并且不同次运行的随机数不相同。
时间: 2024-10-15 22:27:09 浏览: 29
在C++中,如果你需要生成指定范围内的随机数并且每次程序运行时结果都不一样,你可以利用`<random>`库,它提供了一套完整的随机数生成器。下面是一个简单的示例,说明如何生成0到99之间的随机整数:
```cpp
#include <iostream>
#include <random>
int main() {
// 设定随机数种子,可以使用当前时间,确保每次运行结果不同
std::srand(std::chrono::high_resolution_clock::now().time_since_epoch().count());
// 定义随机数生成器,选择一个Mersenne Twister算法
std::default_random_engine generator;
// 定义随机数的上下限,这里是0到99
int min = 0;
int max = 99;
// 从上限减一生成一个均匀分布的随机数
std::uniform_int_distribution<int> distribution(min, max);
// 生成并打印随机数
int random_num = distribution(generator);
std::cout << "Random number between " << min << " and " << max << ": " << random_num << "\n";
return 0;
}
```
在这个例子中,`std::srand()`函数设置了一个初始的随机种子,`std::default_random_engine`是随机数引擎,`std::uniform_int_distribution`定义了随机数的分布范围。每次运行这段代码,由于种子的不同,生成的随机数就会变化。
阅读全文