编写程序,以指针的方式,就地逆置一维数组。 输入格式: 首先输入一个正整数t
时间: 2024-01-09 09:02:27 浏览: 140
首先,我们需要定义一个指针函数,实现就地逆置一维数组的功能。首先输入一个正整数t,表示数组的长度。然后输入数组的元素。接下来,我们定义一个指针p,让p指向数组的第一个元素,定义一个指针q,让q指向数组的最后一个元素,然后利用循环,交换p和q指向的元素,直到p和q相遇为止,实现数组的就地逆置。
```c
#include <stdio.h>
void reverseArray(int *arr, int length) {
int *p = arr;
int *q = arr + length - 1;
while (p < q) {
int temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
}
int main() {
int t;
printf("请输入数组的长度:");
scanf("%d", &t);
int arr[t];
printf("请输入数组的元素:");
for (int i = 0; i < t; i++) {
scanf("%d", &arr[i]);
}
printf("原数组为:");
for (int i = 0; i < t; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, t);
printf("\n逆置后的数组为:");
for (int i = 0; i < t; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
以上代码实现了通过指针的方式就地逆置一维数组。首先输入数组的长度,然后输入数组的元素,接着调用reverseArray函数进行数组的逆置操作,最后输出逆置后的数组。
阅读全文