21xrx.com
2025-04-28 16:53:57 Monday
文章检索 我的文章 写文章
C++如何对数组进行随机赋值
2023-07-08 14:10:08 深夜i     30     0
C++ 数组 随机 赋值 random库

C++作为一门强大的编程语言,在数组操作上提供了许多便利的方式。其中,对数组进行随机赋值是一种很常见的操作,本文将介绍几种方法。

第一种方法是使用rand()函数生成随机数,再通过循环来遍历数组并给每个元素赋值。具体代码如下:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
  srand(time(0)); // 用当前时间作为随机数种子
  int arr[10];
  for (int i = 0; i < 10; i++) {
    arr[i] = rand();
  }
  for (int i = 0; i < 10; i++) {
    cout << arr[i] << " ";
  }
  return 0;
}

第二种方法是使用C++的随机数库,也就是 头文件中的一些类和函数,可以生成更高质量的随机数。下面是一个例子:

#include <iostream>
#include <random>
using namespace std;
int main() {
  random_device rd;
  mt19937 mt(rd()); // 以rd为种子生成随机数
  uniform_int_distribution<int> dist(0, 9); // 生成0~9之间的随机整数
  int arr[10];
  for (int i = 0; i < 10; i++) {
    arr[i] = dist(mt);
  }
  for (int i = 0; i < 10; i++) {
    cout << arr[i] << " ";
  }
  return 0;
}

具体来说,这个例子中使用的是mt19937这个生成器类,它使用一个32位整数作为种子,生成高质量的随机数。uniform_int_distribution dist(0, 9)则是一个分布器类,用于生成0~9之间的随机整数。

另外,需要注意的是,在使用C++的随机数库时,通常应该避免使用rand()函数,因为它的随机数质量很低,而且容易产生可预测的模式。

最后再给一个提示:在使用这些方法时,尽量使用头文件中已经定义好的类和函数,避免自己编写随机数生成代码,这样可以让代码更加简洁和可读。

  
  

评论区