如何使用srand(UNLL)来输出两个在一定范围内的随机数
时间: 2024-10-23 08:07:07 浏览: 35
`srand()`函数是C++标准库中的成员函数,用于初始化随机数生成器(`random_device`或`mt19937`引擎)。如果你想要在一个特定范围内输出两个独立的随机数,你需要配合使用`rand()`函数,但首先得设置好随机种子。这里是一个简单的示例:
```cpp
#include <iostream>
#include <cstdlib> // 包含rand()和srand()
#include <ctime> // 包含时间作为随机种子
void generateRandomNumbers(int min, int max) {
// 设置随机种子,常用当前时间作为初始值,确保每次程序启动的随机数序列不同
srand((unsigned)std::time(0));
// 生成第一个随机数
int num1 = rand() % (max - min + 1) + min; // 使用模运算限制在指定范围内
// 确保第二个随机数也基于相同的随机源,但避免重复第一个
srand((unsigned)(num1 * 17)); // 使用上一次生成的随机数做种子
// 生成第二个随机数
int num2 = rand() % (max - min + 1) + min;
std::cout << "First random number: " << num1 << "\n";
std::cout << "Second random number: " << num2 << "\n";
}
int main() {
int rangeMin, rangeMax;
// 输入范围
std::cout << "Enter the minimum and maximum range for random numbers: ";
std::cin >> rangeMin >> rangeMax;
generateRandomNumbers(rangeMin, rangeMax);
return 0;
}
```
在这个例子中,我们先设置了初始随机种子,然后依次生成两个随机数,每个随机数都在指定范围内。为了保持随机性,我们在生成第二个随机数时使用了第一个随机数的倍数作为新的种子。
阅读全文