c++生成随机数和随机符号
时间: 2024-10-14 09:01:21 浏览: 38
在 C++ 中,生成随机数通常需要用到 `<random>` 和 `<cstdlib>` 库。首先,你需要包含这两个头文件,并定义一个 `std::mt19937` 类型的对象,它是 C++11 引入的 Mersenne Twister 随机数引擎。下面是一个简单的示例,展示如何生成整数、浮点数以及随机字符:
```cpp
#include <iostream>
#include <random>
#include <string>
// 定义随机数生成器
std::mt19937 generator(std::chrono::system_clock::now().time_since_epoch().count());
// 生成整数范围内的随机数
int random_int(int min, int max) {
std::uniform_int_distribution<> distribution(min, max);
return distribution(generator);
}
// 生成0到1之间的随机浮点数
double random_float() {
std::uniform_real_distribution<> distribution(0.0, 1.0);
return distribution(generator);
}
// 生成指定长度的随机字符串(仅限ASCII字符)
std::string random_string(size_t length) {
std::string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+~`|}{[]:;?><,./-=\\";
std::string result(length, '\0');
for (size_t i = 0; i < length; ++i) {
result[i] = chars[random_int(0, chars.size() - 1)];
}
return result;
}
int main() {
int random_integer = random_int(0, 100); // 示例:生成0到100之间的随机整数
double random_float_value = random_float(); // 示例:生成0.0到1.0之间的随机小数
std::string random_string_example = random_string(10); // 示例:生成一个长度为10的随机字符串
std::cout << "Random Integer: " << random_integer << "\n";
std::cout << "Random Float: " << random_float_value << "\n";
std::cout << "Random String: " << random_string_example << "\n";
return 0;
}
```
阅读全文