题目描述
给定一个整型一维数组,通过函数void inverse(int x[ ],int n) 实现其逆序。
输入描述:
两行,
第一行,一个整数n(1 ≤ n ≤ 100),表示数组元素个数。
第二行,n个整数(范围0~231-1),空格分隔。
输出描述:
逆序输出n个整数,空格分隔。
代码
#include <iostream>
using namespace std;
void inverse(int x[], int n) {
int start = 0;
int end = n - 1;
while (start < end) {
int temp = x[start];
x[start] = x[end];
x[end] = temp;
start++;
end--;
}
}
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
inverse(arr, n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
这段代码是一个将给定一维数组进行逆序操作的程序。代码中的函数`inverse`实现了将一个整型一维数组倒序排列的功能。
在`inverse`函数中,定义了两个指针`start`和`end`,`start`指向数组的起始位置,`end`指向数组的末尾位置。通过一个循环,每次交换`start`和`end`指针所指向的元素,然后`start`指针向后移动一位,`end`指针向前移动一位,直到`start`指针大于等于`end`指针,即完成了整个数组的逆序操作。
在`main`函数中,首先通过`cin`输入数组的大小`n`,然后定义了一个大小为`n`的数组`arr`,并通过`cin`依次输入数组的元素。接着调用`inverse`函数对数组进行逆序操作。最后通过`cout`输出逆序后的数组元素,以空格分隔。
此代码逻辑简单明了,能够实现对给定一维数组的逆序操作。