当前位置:首页 C++ > 正文

C++产生随机数的几种方法

作者:野牛程序员:2024-02-01 21:23:17 C++阅读 2717
  1. 使用 <random> 库:

#include <iostream>
#include <random>

int main() {
    // 使用随机设备引擎
    std::random_device rd;
    // 设置随机数生成器
    std::mt19937 gen(rd());
    // 定义随机数分布范围
    std::uniform_int_distribution<> dis(1, 100);

    // 生成随机数
    int random_number = dis(gen);
    
    std::cout << "随机数: " << random_number << std::endl;
    
    return 0;
}
  1. 使用 rand() 函数:

#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    // 使用当前时间作为随机种子
    srand(time(nullptr));

    // 生成随机数
    int random_number = rand() % 100 + 1; // 生成 1 到 100 之间的随机数
    
    std::cout << "随机数: " << random_number << std::endl;
    
    return 0;
}
  1. 使用 C++11 的 <random> 库生成浮点数:

#include <iostream>
#include <random>

int main() {
    // 使用随机设备引擎
    std::random_device rd;
    // 设置随机数生成器
    std::mt19937 gen(rd());
    // 定义随机数分布范围
    std::uniform_real_distribution<> dis(0.0, 1.0);

    // 生成随机数
    double random_number = dis(gen);
    
    std::cout << "随机浮点数: " << random_number << std::endl;
    
    return 0;
}
  1. 使用 C++11 的 <random> 库生成布尔值:

#include <iostream>
#include <random>

int main() {
    // 使用随机设备引擎
    std::random_device rd;
    // 设置随机数生成器
    std::mt19937 gen(rd());
    // 定义随机数分布范围
    std::bernoulli_distribution dis(0.5);

    // 生成随机布尔值
    bool random_bool = dis(gen);
    
    std::cout << "随机布尔值: " << std::boolalpha << random_bool << std::endl;
    
    return 0;
}


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击