将一个长度为5的一维整型数组中的元素按颠倒的顺序重新存放,操作时只能借助于一个临时的存储单元。原来的数组从键盘输入,数组逆序后输出调整后的数组,输出完换行。
时间: 2024-12-12 12:29:16 浏览: 20
你可以使用双指针的方法来实现这个需求,一个指向数组的开始(i = 0),另一个指向结束(j = 4)。然后依次交换这两个指针所指向的元素,直到它们相遇或交叉。每次交换后,两个指针都向中间移动一位。以下是一个简单的C++代码示例:
```cpp
#include <iostream>
int main() {
int arr[5]; // 假设这是一个未初始化的数组
std::cout << "请输入5个整数:" << std::endl;
// 从键盘读取5个整数并存入数组
for (int i = 0; i < 5; ++i) {
std::cin >> arr[i];
}
// 使用一个临时变量存储最后一个元素
int temp;
// 双指针法进行逆序
for (int i = 0, j = 4; i < j; ++i, --j) {
temp = arr[i]; // 保存当前元素到临时变量
arr[i] = arr[j]; // 将大元素移到小位置
arr[j] = temp; // 将小元素移到大位置
}
// 输出逆序后的数组
std::cout << "逆序后的数组为:";
for (int i : arr) {
std::cout << i << " ";
}
std::cout << std::endl; // 换行
return 0;
}
```
运行这段代码后,程序会提示用户输入五个整数,然后逆序数组并输出。
阅读全文