c语言中,将一个数组中的值按逆序重新存放。
时间: 2024-12-11 15:34:06 浏览: 18
C语言程序设计-编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出;
4星 · 用户满意度95%
在C语言中,可以使用两层循环或者递归的方式将数组元素逆序排列。以下是两种常见方法:
1. **双指针法**:
```c
void reverse_array(int arr[], int start, int end) {
if (start < end) {
int temp = arr[start]; // 交换开始位置和结束位置的元素
arr[start] = arr[end];
arr[end] = temp;
// 继续对剩余部分执行操作
reverse_array(arr, start + 1, end - 1);
}
}
// 调用函数
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
reverse_array(arr, 0, size - 1); // 从数组的第一个元素开始逆序
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]); // 输出逆序后的数组
}
return 0;
}
```
2. **递归法**:
```c
void reverse_array_recursive(int arr[], int start, int end) {
if (start >= end) {
return;
}
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
reverse_array_recursive(arr, start + 1, end - 1);
}
// 调用函数同上
```
阅读全文