21xrx.com
2024-11-05 20:33:58 Tuesday
登录
文章检索 我的文章 写文章
C++如何生成随机数组?
2023-07-07 19:11:44 深夜i     --     --
C++ 生成 随机数组

C++作为一种高级编程语言,提供了很多方法来生成随机数组。在本文中,我们将介绍两种基本的方法来生成随机数组。

第一种方法:使用rand函数

rand函数是C++中生成随机数的基本函数。要使用rand函数生成随机数组,我们需要先设置一个种子,通常使用当前时间作为种子。

代码如下:


#include <iostream>

#include <ctime>

using namespace std;

int main()

{

  // 设置种子

  srand(time(NULL));

  

  // 生成随机数组

  const int n = 10;

  int arr[n];

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

    arr[i] = rand() % 100; // 生成0-99之间的随机数

  

  // 输出数组

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

    cout << arr[i] << " ";

  cout << endl;

  

  return 0;

}

上述程序中,我们使用当前时间作为种子,然后生成了一个长度为10的随机数组,数组中的元素都是0-99之间的随机数。通过运行该程序,我们可以得到如下输出:


44 45 32 88 13 52 36 77 16 97

第二种方法:使用库函数

除了使用rand函数生成随机数组外,C++还提供了一些库函数来生成随机数组,这些库函数通常生成更高质量的随机数。其中,最常用的库函数是random_shuffle函数。

random_shuffle函数可以将指定范围内的元素随机重排。因此,我们可以使用该函数来生成随机数组。

代码如下:


#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

  // 生成随机数组

  const int n = 10;

  int arr[n];

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

    arr[i] = i; // 先生成有序数组

  

  random_shuffle(arr, arr+n); // 构造随机数组

  

  // 输出数组

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

    cout << arr[i] << " ";

  cout << endl;

  

  return 0;

}

运行该程序,我们可以得到如下输出:


4 1 3 5 8 2 0 6 9 7

上述程序中,我们首先生成了一个有序数组,然后使用random_shuffle函数将其随机重排,从而生成一个随机数组。

总结

本文介绍了两种基本方法来生成随机数组。通过rand函数和库函数,我们可以很容易地生成各种随机数组。同时,为了保证生成的随机数组的质量,我们也需要注意选择合适的生成方法。

  
  

评论区

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