c++产生随机数10到50(含范围)
时间: 2024-10-11 16:15:48 浏览: 5
在C++中生成10到50(包括10和50)之间的随机整数,你可以使用 `<random>` 标准库。下面是一个简单的示例:
```cpp
#include <iostream>
#include <random>
int main() {
// 定义随机数生成器对象
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
// 定义随机数的范围 (从10到50)
std::uniform_int_distribution<int> distribution(10, 50);
// 生成并打印随机数
int random_number = distribution(generator);
std::cout << "Random number between 10 and 50: " << random_number << std::endl;
return 0;
}
```
这个程序首先创建了一个 `std::default_random_engine` 类型的对象,它使用当前时间作为种子保证每次程序运行得到不同的随机序列。然后,我们使用 `std::uniform_int_distribution` 来指定随机数的分布范围,从10到50。最后,通过调用 `distribution(generator)` 生成一个在这个范围内的随机整数。
相关问题
用c++产生10到20的随机数
在C++中,你可以使用`<cstdlib>`库提供的`rand()`函数以及`<ctime>`库中的`srand()`和`time(0)`函数来生成10到20之间的随机整数。这里是一个简单的示例:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
// 设置随机数种子,使其每次运行都有变化
std::srand(std::time(0));
// 定义随机数的范围
int min = 10;
int max = 20;
// 生成并打印随机数
int random_num = min + (rand() % (max - min + 1)); // 使用模运算保证结果在范围内
std::cout << "Random number between 10 and 20: " << random_num << std::endl;
return 0;
}
```
这个程序首先通过`std::srand(std::time(0))`初始化随机数生成器,然后计算出从10到20的随机数,通过`(rand() % (max - min + 1))`确保生成的数落在指定区间。
c++产生随机数的函数
C++中产生随机数的函数是`rand()`,需要先调用`srand()`函数设置随机数种子。例如,以下代码可以产生一个[0, 99]范围内的随机数:
```c++
#include <cstdlib>
#include <ctime>
#include <iostream>
int main() {
srand(time(NULL)); // 设置随机数种子
int random_num = rand() % 100; // 产生[0, 99]范围内的随机数
std::cout << "Random number: " << random_num << std::endl;
return 0;
}
```
需要注意的是,`rand()`函数产生的随机数并不是真正的随机数,而是伪随机数。如果需要更高质量的随机数,可以使用C++11提供的`<random>`库。