c语言将一个数组中的值逆序重新存放
时间: 2024-11-22 16:44:06 浏览: 3
C语言编程实验课之数组.pdf
在C语言中,要将数组元素逆序排列,可以采用两种常见的方法:直接遍历和递归。
**1. 直接遍历法(两指针法)**
```c
void reverse_array(int arr[], int start, int end) {
if (start < end) {
// 交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 继续处理剩余部分
reverse_array(arr, start + 1, end - 1);
}
}
// 使用示例
int main() {
int my_array[5] = {1, 2, 3, 4, 5};
int length = sizeof(my_array) / sizeof(my_array[0]);
reverse_array(my_array, 0, length - 1);
// 输出逆序后的数组
for (int i = 0; i < length; i++) {
printf("%d ", my_array[i]);
}
return 0;
}
```
**2. 递归法**
```c
void reverse_array_recursively(int arr[], int start, int end) {
if (start >= end) {
return;
}
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
reverse_array_recursively(arr, start + 1, end - 1);
}
// 使用示例同上
```
运行上述代码后,原数组`my_array`的内容将会变为倒序。
阅读全文