c语言编程实现将原数组中的元素逆序存储。例如原数组a[]={5,2,7,4},则逆序后的数组a[]={4,7,2,5}。 要求: A.分别输出逆序前、后数组各元素的数值; B.逆序实现不要借助其他数组。
时间: 2024-11-29 15:35:36 浏览: 49
在C语言中,我们可以使用两个指针,一个指向数组的开始(头),另一个指向数组的结束(尾),然后交换这两个位置上的元素,直到两个指针相遇。这里是一个简单的实现步骤:
```c
#include <stdio.h>
// 函数声明
void reverseArray(int arr[], int size);
int main() {
int a[] = {5, 2, 7, 4};
int n = sizeof(a) / sizeof(a[0]); // 获取数组长度
printf("原始数组元素(逆序前):");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
// 逆序数组
reverseArray(a, n);
printf("逆序后数组元素:");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
// 递归实现数组逆序
void reverseArray(int arr[], int size) {
if (size > 1) { // 当数组大小大于1时才继续交换
int temp = arr[0]; // 保存第一个元素
arr[0] = arr[size - 1]; // 将最后一个元素放到第一位
arr[size - 1] = temp; // 将临时保存的元素放回最后一位
// 递归处理剩余部分
reverseArray(arr + 1, size - 2);
}
}
```
当你运行这个程序,它会先打印出原始数组的元素,然后经过逆序函数后,再打印出逆序后的数组。
阅读全文
相关推荐


















