C++ 数组翻转:前 size 个元素反转

问题描述: 给定一个长度为 n 的数组 a 和一个整数 size,请你编写一个函数,void reverse(int a[], int size),实现将数组 a 中的前 size 个数翻转。

输入格式:

第一行包含两个整数 n 和 size。1 ≤ size ≤ n ≤ 1000

第二行包含 n 个整数,表示数组 a。

输出格式:

共一行,包含 n 个整数,表示翻转后的数组 a。

输入样例:

5 3
1 2 3 4 5

输出样例:

3 2 1 4 5

C++ 代码:

#include <iostream>
using namespace std;

void reverse(int a[], int size) {
  for (int i = 0; i < size / 2; i++) {
    swap(a[i], a[size - i - 1]);
  }
}

int main() {
  int n, size;
  cin >> n >> size;
  int a[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  reverse(a, size);
  for (int i = 0; i < n; i++) {
    cout << a[i] << ' ';
  }
  return 0;
}

代码解释:

  1. reverse 函数使用循环遍历数组的前 size/2 个元素,并交换每个元素与对应位置的元素,实现数组翻转。
  2. swap 函数用于交换两个元素的值。
  3. main 函数用于读取输入,调用 reverse 函数翻转数组,并输出翻转后的数组。
C++ 数组翻转:前 size 个元素反转

原文地址: https://www.cveoy.top/t/topic/oDts 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录