C++获取0-1随机数
时间: 2023-12-09 21:02:23 浏览: 241
C语言获取0-1的随机数的方法有多种。其中一种方法是使用rand函数。可以使用以下代码获取0-1之间的随机数:
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 设置随机数种子
double random = (double)rand() / RAND_MAX; // 获取0-1的随机数
return 0;
}
另一种方法是使用C++11提供的random库。可以使用以下代码获取0-1之间的随机数:
#include <iostream>
#include <random>
#include <ctime>
int main() {
std::default_random_engine random(time(NULL));
std::uniform_real_distribution<double> dis(0.0, 1.0);
double randomNum = dis(random); // 获取0-1的随机数
return 0;
}
相关问题
C++生成1-100随机数
在C++中,你可以使用标准库中的 `<cstdlib>` 和 `<ctime>` 来生成1到100之间的随机整数。这里有一个简单的例子:
```cpp
#include <iostream>
#include <cstdlib> // 包含随机数生成器头文件
#include <ctime> // 包含时间处理头文件
int main() {
// 设置随机数种子(为了每次运行程序时得到相同的序列)
std::srand(std::time(0));
// 生成1到100的随机整数
int random_number = rand() % 100 + 1; // 使用模运算确保结果在1-99范围内,再加上1得1-100
std::cout << "Random number between 1 and 100: " << random_number << std::endl;
return 0;
}
```
这段代码首先使用 `std::srand()` 函数设置了随机数生成器的种子,`std::time(0)` 是获取当前时间,这使得每次程序执行都会产生不同的随机数序列。然后,`rand()` 函数生成一个伪随机数,我们通过 `% 100` 操作符限制它的范围在0到99之间,加上1后就得到了1到100。
如果你想让生成的随机数在整个程序运行期间都保持一致,你可以只调用 `std::srand(std::time(0))` 一次,通常放在主函数入口处。
cpp1-200随机数生成
在C++中,可以使用 `<cstdlib>` 或 `<random>` 标准库来生成指定范围内的随机数,例如生成1到200的随机数。这里我将给出使用 `<random>` 库的例子,因为它提供更多的灵活性和控制。
```cpp
#include <iostream>
#include <random>
int main() {
// 初始化随机数生成器
std::random_device rd; // 使用硬件随机源
std::mt19937 gen(rd()); // Mersenne Twister算法,高质量的伪随机数生成器
std::uniform_int_distribution<> dis(1, 200); // 定义随机数分布
for (int i = 0; i < 100; ++i) { // 生成100个随机数,可以根据需求调整次数
int random_num = dis(gen); // 从1到200之间取值
std::cout << random_num << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码首先创建了一个随机数生成器 `gen` 和一个均匀分布 `dis`,分别对应Mersenne Twister算法和1到200的范围。然后在循环中,通过 `dis(gen)` 每次从这个范围内获取一个新的随机数并打印出来。
阅读全文