c++中生成100以内的随机数
作者:野牛程序员:2023-07-03 16:20:21 C++阅读 3623
要在C++中生成100以内的随机数,您可以使用 <random>
头文件中的随机数生成器。以下是一个生成100以内随机数的示例代码:
#include <iostream> #include <random> int main() { // 使用随机设备作为种子 std::random_device rd; // 使用 Mersenne Twister 引擎 std::mt19937 rng(rd()); // 指定随机数范围为 [0, 99] std::uniform_int_distribution<int> uni(0, 99); // 生成随机数 int randomNumber = uni(rng); // 输出随机数 std::cout << "随机数: " << randomNumber << std::endl; return 0; }
这段代码首先使用 random_device
来获取一个随机设备的种子。然后,使用 Mersenne Twister 引擎 mt19937
创建一个随机数生成器 rng
,并将随机设备的种子传递给它。接下来,使用 uniform_int_distribution
来指定随机数的范围为0到99。最后,调用 uni(rng)
生成一个随机数,将其存储在 randomNumber
中,并输出到控制台上。
这可以根据需要调整范围和生成多个随机数。请注意,每次运行程序时都会生成不同的随机数。
还有其他方法可以在C++中生成100以内的随机数。一种方法是使用 <cstdlib>
头文件中的 rand()
函数和取模运算符 %
。以下是一个使用这种方法的示例代码:
#include <iostream> #include <cstdlib> #include <ctime> int main() { // 设置种子为当前时间 std::srand(static_cast<unsigned int>(std::time(nullptr))); // 生成随机数 int randomNumber = std::rand() % 100; // 输出随机数 std::cout << "随机数: " << randomNumber << std::endl; return 0; }
这段代码首先使用 std::time(nullptr)
获取当前时间作为种子,并将其传递给 std::srand()
函数来初始化随机数生成器。然后,使用 std::rand()
生成一个随机数,并使用 %
运算符将其限制在0到99的范围内。最后,将随机数输出到控制台上。
请注意,这种方法的随机性可能不如使用 <random>
头文件中的方法,而且需要在程序开始时调用 std::srand()
来设置种子。因此,如果需要更好的随机性和更大的灵活性,推荐使用 <random>
头文件中的方法。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892