c语言编写一个程序,将一个数组中的值按逆序重新存放。
时间: 2024-12-28 07:40:21 浏览: 13
在C语言中,你可以通过两个指针从数组两端向中间遍历来实现数组元素的逆序。下面是一个简单的示例:
```c
#include <stdio.h>
void reverse_array(int arr[], int start, int end) {
while (start < end) { // 当开始指针小于结束指针时,继续交换
int temp = arr[start]; // 临时存储起始位置的值
arr[start] = arr[end]; // 将结束位置的值放到起始位置
arr[end] = temp; // 将起始位置的值放到结束位置
start++; // 移动起始指针
end--; // 移动结束指针
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8}; // 示例数组
int size = sizeof(arr) / sizeof(arr[0]); // 获取数组长度
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse_array(arr, 0, size - 1); // 调用逆序函数
printf("Reversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个`reverse_array`函数接受一个数组、起始索引和结束索引作为参数,然后通过两个指针互换相应位置的元素,直到它们相遇或越过对方。
阅读全文