21xrx.com
2024-12-22 22:24:24 Sunday
登录
文章检索 我的文章 写文章
C++如何生成指定长度的随机数
2023-07-08 04:45:12 深夜i     --     --
C++ 生成 指定长度 随机数

C++是一种强大的编程语言,它可以用于创建各种类型的应用程序。在许多应用程序中,生成随机数是一个非常重要的任务。本文将介绍如何使用C++生成指定长度的随机数。

1. 使用rand()函数生成随机数

rand()函数是C++中的随机数生成函数,它可以随机生成0到最大值之间的整数。要生成指定长度的随机数,可以使用以下代码:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

  srand((unsigned)time(NULL));

  int length = 6;

  for(int i = 0; i < length; i++)

  {

    cout << rand() % 10;

  }

  return 0;

}

在以上代码中,我们使用了srand()函数来初始化随机数生成器。这个函数的参数是一个种子值,它用来确保每次程序运行时,生成的随机数序列都是不同的。在这里,我们使用time(NULL)函数来获取当前的时间作为种子值。然后,我们定义了一个变量length,它表示要生成的随机数的长度。在for循环中,我们使用rand() % 10来生成一个0到9之间的随机数字,并输出到屏幕上。

2. 使用C++11的random库生成随机数

在C++11中,引入了一个新的随机数库random。这个库提供了更好的随机数生成能力,可以用于生成各种类型的随机数。要生成指定长度的随机数,可以使用以下代码:


#include <iostream>

#include <random>

#include <ctime>

using namespace std;

int main()

{

  srand((unsigned)time(NULL));

  int length = 6;

  random_device rd;

  mt19937 gen(rd());

  uniform_int_distribution<> dis(0, 9);

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

    cout << dis(gen);

  }

  return 0;

}

在以上代码中,我们首先使用srand()函数初始化随机数生成器。然后,我们定义了一个变量length,表示要生成的随机数的长度。接下来,我们使用random_device rd来获取一个真正的随机数作为种子值。然后,我们定义了一个mt19937对象gen,它是一个高质量的随机数生成器。我们使用uniform_int_distribution<>对象dis来定义了一个均匀分布的整数分布,它可以生成0到9之间的随机数字。最后,我们在for循环中使用dis(gen)来生成指定长度的随机数,并输出到屏幕上。

总结

无论是使用rand()函数还是C++11的random库,都可以生成指定长度的随机数。但是,C++11的random库提供了更好的随机数生成能力,可以生成更高质量的随机数。因此,在编写应用程序时,建议优先使用C++11的random库来生成随机数。

  
  

评论区

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