c++ rand随机数生成(随机种子设置)
时间: 2023-07-22 07:18:22 浏览: 552
在 C++ 中,可以使用 `rand()` 函数生成随机数,同时可以使用 `srand()` 函数设置随机数的种子。以下是一个随机数生成的示例代码:
```c++
#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))` 函数设置了随机数种子,`time(NULL)` 函数返回的是当前时间的秒数,可以保证每次运行程序时生成的随机数都是不同的。`rand() % 100 + 1` 生成的是 1~100 之间的随机数。
相关问题
C++使用随机数生成正整数
在C++中,你可以使用 `<cstdlib>` 或 `<random>` 标准库来生成随机正整数。这里我们主要看两个方法:
1. **使用 `rand()` 函数** (C风格):
```cpp
#include <cstdlib>
#include <ctime>
// 首先需要设置随机数种子(确保每次程序启动时生成不同的随机数)
std::srand(std::time(0));
// 使用 rand() 函数生成0到RAND_MAX之间的随机数(包含0,但通常大于INT_MAX)
int randomInteger = std::rand() % RAND_MAX + 1;
```
2. **使用 `<random>` 库** (现代C++11及以上):
```cpp
#include <iostream>
#include <random>
std::default_random_engine generator; // 创建随机引擎
std::uniform_int_distribution<int> distribution(1, 100); // 定义均匀分布,范围从1到100
// 生成一个随机数
int randomInteger = distribution(generator);
```
在这个现代方法中,`uniform_int_distribution` 可以让你更精确地控制随机数的范围,并且`default_random_engine` 提供了更好的随机性和性能。
C++生成随机种子 和随机数
生成随机种子可以使用time函数,代码如下:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(NULL)); // 以当前时间作为随机种子
int random_num = rand() % 100; // 生成0~99之间的随机数
std::cout << "随机数为:" << random_num << std::endl;
return 0;
}
```
其中,srand函数用于设置随机数生成器的种子,time(NULL)返回当前时间的秒数,作为种子可以保证每次运行程序时生成的随机数不同。
生成随机数可以使用rand函数,代码中的rand() % 100表示生成0~99之间的随机数。
阅读全文