21xrx.com
2025-04-01 11:52:30 Tuesday
文章检索 我的文章 写文章
如何在C++面试中生成随机数
2023-06-28 17:57:56 深夜i     10     0
C++ 面试 随机数 生成

在 C++ 面试中,经常会遇到要求生成随机数的问题。生成随机数是一个基本的编程技巧,也是一个非常重要的知识点,因为它在计算机科学中有着广泛的应用。

在 C++ 中,有多种方法可以生成随机数,下面介绍一些最常用的方法。

1. 使用 rand() 函数

在 C++ 中,可以使用 rand() 函数生成随机数。rand() 函数默认情况下会生成一个范围为 0 到 RAND_MAX 的随机整数。要使用 rand() 函数,需要包含头文件

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

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
  //设置随机数种子
  srand((unsigned)time(NULL));
  //生成一个范围在0到100之间的随机数
  int num = rand() % 101;
  cout << "随机数为:" << num << endl;
  return 0;
}

2. 使用 c++11 提供的随机数库

在 C++11 中提供了一个随机数库,可以生成更高质量的随机数。要使用这个库,需要包含头文件

下面是一个使用 c++11 提供的随机数库生成随机数的示例:

#include <iostream>
#include <random>
using namespace std;
int main()
{
  //创建一个随机数引擎
  random_device rd;
  mt19937 gen(rd());
  //生成一个范围在0到100之间的随机数
  uniform_int_distribution<> dis(0, 100);
  int num = dis(gen);
  cout << "随机数为:" << num << endl;
  return 0;
}

以上就是在 C++ 面试中生成随机数的常用方法。在使用 rand() 函数时,需要记得在程序开头使用 srand() 函数设置一个随机种子,以保证每次程序运行生成的随机数都是不同的。在使用 c++11 提供的随机数库时,可以使用更高质量的随机数生成器和更多种类的随机分布。

  
  

评论区

请求出错了