对有十个元素的数组,用指针访问其元素,实现逆序排列,原字符数组中的数据由用户输入,最后输出逆序排列
时间: 2024-11-29 22:32:52 浏览: 27
要实现这个功能,我们可以使用两个指针,一个指向数组的开始(`begin`),另一个指向数组的结束(`end - 1`)。然后交换这两个位置上的元素,每次移动一个指针向前一步,直到它们相遇。这里是一个简单的C++代码示例:
```cpp
#include <iostream>
using namespace std;
// 助手函数,用于交换两个字符的位置
void swap(char* a, char* b) {
char temp = *a;
*a = *b;
*b = temp;
}
int main() {
int n;
cout << "Enter the number of elements (max 10): ";
cin >> n;
// 检查输入是否合法(不超过10个元素)
if (n > 10) {
cout << "Invalid input. Maximum size is 10." << endl;
return 0;
}
char arr[10]; // 创建一个大小为10的字符数组
cout << "Enter the elements: ";
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
char* begin = arr; // 初始化开始指针
char* end = begin + n - 1; // 初始化结束指针
// 逆序遍历并交换元素
while (begin < end) {
swap(begin, end);
begin++; // 开始指针后移
end--; // 结束指针前移
}
cout << "Reversed array: ";
for (char* p = arr; p != arr + n; ++p) {
cout << *p << " ";
}
cout << endl;
return 0;
}
```
阅读全文