21xrx.com
2024-12-27 15:05:30 Friday
登录
文章检索 我的文章 写文章
如何在C++中生成随机数
2023-07-05 15:19:35 深夜i     --     --
C++ 生成 随机数

在C++编程中,生成随机数是一个常见的需求。在使用随机数时,需要注意生成的随机数是否真正的随机。在C++中,可以通过以下几种方法生成随机数:

1. 使用rand函数

rand函数是C++中生成随机数最常见的方法之一。rand函数返回一个0到RAND_MAX之间的随机整数。RAND_MAX是一个常量,表示rand函数可以生成的最大随机数。

使用rand函数需要包含 头文件,并调用srand函数设定随机种子。

下面是一个例子:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main() {

  // 设定随机种子

  srand(time(0));

  

  // 生成并输出5个随机数

  for (int i = 0; i < 5; i++) {

    int r = rand();

    cout << r << " ";

  }

  cout << endl;

  return 0;

}

2. 使用C++11中的随机数生成器

C++11中提供了更强大的随机数生成器,包括mt19937、default_random_engine等。使用这些随机数生成器可以获得更加真实的随机数。

下面是一个例子:


#include <iostream>

#include <random>

using namespace std;

int main() {

  // 使用mt19937随机数生成器

  mt19937 generator;

  generator.seed(random_device()());

  // 使用uniform_int_distribution生成符合均匀分布的随机数

  uniform_int_distribution<int> distribution(1, 100);

  // 生成并输出5个随机数

  for (int i = 0; i < 5; i++) {

    int r = distribution(generator);

    cout << r << " ";

  }

  cout << endl;

  return 0;

}

在C++中生成随机数是一个非常基础的操作,也是C++编程过程中常用的功能之一。使用合适的随机数生成器可以保证生成的随机数具有更高的带随机性和真实性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复