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

c++生成1~100随机数

作者:野牛程序员:2023-06-20 12:28:47 C++阅读 3818

在 C++ 中,可以使用 <random> 头文件中的随机数生成器来生成 1 到 100 之间的随机数。下面是一个示例代码:

#include <iostream>
#include <random>

int main() {
    std::random_device rd;  // 用于获取随机数种子
    std::mt19937 gen(rd()); // 以随机数种子初始化随机数生成器

    std::uniform_int_distribution<> dis(1, 100); // 创建一个生成 1 到 100 之间整数的均匀分布

    int randomNumber = dis(gen); // 生成随机数

    std::cout << "随机数: " << randomNumber << std::endl;

    return 0;
}

这段代码首先使用 std::random_device 来获取一个随机数种子,然后使用 std::mt19937 初始化随机数生成器。接下来,使用 std::uniform_int_distribution 创建一个生成 1 到 100 之间整数的均匀分布,并将其作为参数传递给 dis。最后,通过调用 dis(gen) 生成一个随机数,并将其存储在 randomNumber 变量中。

运行上述代码,将会输出一个介于 1 到 100 之间的随机数。每次运行代码,生成的随机数可能会不同。

还有其他方法可以生成 1 到 100 之间的随机数。另一种常见的方法是使用 C++ 标准库中的 rand() 函数。

下面是一个使用 rand() 函数生成 1 到 100 随机数的示例代码:

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

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

    int randomNumber = std::rand() % 100 + 1; // 生成 1 到 100 之间的随机数

    std::cout << "随机数: " << randomNumber << std::endl;

    return 0;
}

在这段代码中,我们首先使用 std::srand() 函数将当前时间作为随机数种子,以确保每次运行程序时生成的随机数不同。然后,通过 std::rand() 函数生成一个随机数,并使用取模运算符 % 将其限制在 1 到 100 之间。

请注意,rand() 函数在 C++ 中已经被认为是过时的,并且不是真正的随机数生成器。对于需要高质量随机数的应用,建议使用前面提到的 <random> 头文件中的随机数生成器。然而,如果只是简单地需要一个大致的随机数,rand() 函数可以作为一个简单的解决方案。


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

最新推荐

热门点击