C++ 数组翻转:前 size 个元素反转
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;
}
代码解释:
reverse函数使用循环遍历数组的前size/2个元素,并交换每个元素与对应位置的元素,实现数组翻转。swap函数用于交换两个元素的值。main函数用于读取输入,调用reverse函数翻转数组,并输出翻转后的数组。
原文地址: https://www.cveoy.top/t/topic/oDts 著作权归作者所有。请勿转载和采集!