题目内容:利用指针编程,将数组中所有元素的值对称交换。使用数组int a[10]. 输入格式: %d 输出格式(%d后有一个空格): %d 输入样例: 9 1 7 3 4 5 6 2 8 0 输出样例: 0 8 2 6 5 4 3 7 1 9
时间: 2023-06-19 11:03:39 浏览: 354
好的,可以参考以下代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10];
for (int i = 0; i < 10; i++) {
cin >> a[i];
}
int *p1 = a, *p2 = a + 9;
while (p1 < p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
for (int i = 0; i < 10; i++) {
cout << a[i] << " ";
}
return 0;
}
```
解释:
1. 首先定义一个 int 类型的数组 a[10],用于存储输入的 10 个数。
2. 使用 for 循环遍历数组 a,依次输入 10 个数。
3. 定义两个指针 p1 和 p2,分别指向数组 a 的首尾两个元素。
4. 使用 while 循环,当 p1 小于 p2 时,执行以下操作:
- 定义一个临时变量 temp,用于交换 p1 和 p2 指向的元素的值。
- 将 p1 指向的元素的值赋给 p2 指向的元素。
- 将 p2 指向的元素的值赋给 p1 指向的元素。
- p1 往后移动一位,p2 往前移动一位。
5. 使用 for 循环遍历数组 a,依次输出 10 个数,并在每个数后面加一个空格。
阅读全文