c++随机数
时间: 2023-06-29 20:14:44 浏览: 81
在 C++ 中,可以使用 `rand` 函数来生成随机数,该函数定义在 `cstdlib` 头文件中。在使用 `rand` 函数之前,需要先调用 `srand` 函数来初始化随机数生成器。
下面是一个简单的示例,可以生成一个范围在 1 到 100 之间的随机数:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
// 初始化随机数生成器
srand(time(NULL));
// 生成随机数
int num = rand() % 100 + 1;
// 输出结果
cout << "随机数:" << num << endl;
return 0;
}
```
在上述代码中,`srand(time(NULL))` 用于使用当前时间作为随机数生成器的种子,以保证每次运行程序时生成的随机数不同。`rand() % 100 + 1` 用于生成一个 1 到 100 之间的随机数。
相关问题
c++ 随机数rand
C语言中的随机数函数是rand()。它可以生成一个介于0和RAND_MAX之间的伪随机整数。要使用rand()函数之前,我们需要使用srand()函数设置种子。通常可以使用当前时间作为种子,以确保每次程序运行时都会生成不同的随机数序列。 为了生成0到N-1之间的随机数,我们可以使用rand() % N的方式。但需要注意的是,这种方式并不是完全随机的,因为rand()函数的伪随机性可能导致某些数值出现的概率更高。
下面是一个范例代码,演示了如何生成1到10之间的随机数:
```c
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main() {
int i, j;
srand((unsigned)time(NULL));
for(i = 0; i < 10; i++) {
j = 1 + (int)(10.0 * rand() / (RAND_MAX + 1.0)); printf("%d ", j);
}
return 0;
}
```
该代码首先使用srand()函数设置种子,然后使用rand()函数生成一个0到RAND_MAX之间的随机整数。接着,通过计算将其映射到1到10之间的范围,并将结果打印出来。由于种子是基于当前时间的,所以每次运行程序时都会得到不同的随机数序列。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【C++】random随机数与【C++11】/rand()和srand()的用法](https://blog.csdn.net/Darlingqiang/article/details/119451672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [C++随机数生成实例讲解](https://download.csdn.net/download/weixin_38609765/13781808)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [c++中的随机数rand()](https://blog.csdn.net/a13352912632/article/details/108555783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
C++ 随机数示例
当你在C++中需要生成随机数时,可以使用标准库中的`<random>`头文件提供的随机数生成器。下面是一个简单的C++随机数示例:
```cpp
#include <iostream>
#include <random>
int main() {
// 创建一个随机数引擎
std::random_device rd;
std::mt19937 gen(rd());
// 定义随机数范围
int min = 1;
int max = 100;
// 创建一个分布对象,指定随机数范围
std::uniform_int_distribution<> dis(min, max);
// 生成随机数
int randomNum = dis(gen);
// 输出随机数
std::cout << "生成的随机数为:" << randomNum << std::endl;
return 0;
}
```
这个示例中,我们首先创建了一个随机数引擎`std::mt19937`,并使用`std::random_device`作为种子来初始化它。然后,我们定义了一个随机数范围,这里是1到100之间的整数。接下来,我们创建了一个分布对象`std::uniform_int_distribution<>`,并将随机数范围传递给它。最后,我们使用分布对象和随机数引擎生成一个随机数,并将其输出到控制台。
阅读全文