C++程序 将一个数组的内容以相反的顺序复制到另一个数组中

C++程序 将一个数组的内容以相反的顺序复制到另一个数组中

问题描述

我们需要将一个数组的内容以相反的顺序复制到另一个数组中。例如,有如下两个数组:

int arr1[5] = { 1, 2, 3, 4, 5 };
int arr2[5] = { 0, 0, 0, 0, 0 };

最终我们需要的结果是将arr1中的内容以相反的顺序赋值给arr2

// arr2现在变成{5, 4, 3, 2, 1}

解决方案

我们可以使用如下的方法将一个数组倒序复制到另一个数组中:

  1. 首先定义两个数组,同时将它们的大小设为相同。
const int SIZE = 5; // 数组大小
int arr1[SIZE] = { 1, 2, 3, 4, 5 };
int arr2[SIZE] = { 0, 0, 0, 0, 0 };
  1. 接着,我们需要定义一个指向arr1数组的指针,并将它指向数组的最后一个元素。
int* p = arr1 + SIZE - 1;
  1. 使用一个循环,依次将arr1中的元素赋值给arr2,并将指针向前移动。
for (int i = 0; i < SIZE; i++)
{
    arr2[i] = *p;
    p--;
}
  1. 最后,我们可以打印出arr2数组的内容,以验证我们的程序是否正确。
for (int i = 0; i < SIZE; i++)
{
    cout << arr2[i] << " ";
}

完整代码如下:

#include <iostream>
using namespace std;

int main()
{
    const int SIZE = 5; // 数组大小
    int arr1[SIZE] = { 1, 2, 3, 4, 5 };
    int arr2[SIZE] = { 0, 0, 0, 0, 0 };

    int* p = arr1 + SIZE - 1;

    for (int i = 0; i < SIZE; i++)
    {
        arr2[i] = *p;
        p--;
    }

    for (int i = 0; i < SIZE; i++)
    {
        cout << arr2[i] << " ";
    }

    return 0;
}

结论

通过指针的方法,我们可以很方便地将一个数组的内容以相反的顺序复制到另一个数组中。这种方法简单明了,易于理解,值得我们在以后的编程过程中使用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 示例