【问题描述】键盘输入一个数组,将这个数组的数据反转后输出。 第一行输入数组的大小,第二行数组数组元素。定义函数void reverse(int *x,n)实现数组的反转。 【输入形式】 第一行输入数组的长度n 第二行输入n个整数。
时间: 2024-12-26 16:29:30 浏览: 5
这是一个编程问题,要求我们编写一个名为`reverse`的函数,该函数接受一个整型指针`x`和它的长度`n`作为输入,然后原地反转输入数组的顺序。这里是一个简单的C++示例代码来实现这一功能:
```cpp
#include <iostream>
// 函数声明
void reverse(int* x, int n);
int main() {
int n;
std::cin >> n; // 输入数组长度
// 动态分配内存以存储输入数组
int arr[n];
for (int i = 0; i < n; ++i) {
std::cin >> arr[i]; // 输入数组元素
}
// 反转数组
reverse(arr, n);
// 输出反转后的数组
for (int i = 0; i < n; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return 0;
}
// 反转函数实现
void reverse(int* x, int n) {
for (int i = 0; i < n / 2; ++i) {
int temp = x[i];
x[i] = x[n - i - 1]; // 交换第i位置和倒数第i位置的元素
x[n - i - 1] = temp;
}
}
```
在这个例子中,`reverse`函数通过两个指针分别指向数组的起始和结束,然后逐个交换它们指向的元素直到遍历到中间位置。
阅读全文