用c语言将一个数组中的值逆序存储,然后按顺序输出数组。如原来数组存储为1、2、3、4、5,按要求重新存为5、4、3、2、1。
时间: 2024-12-24 09:29:14 浏览: 5
在C语言中,你可以通过两个指针,一个指向数组开始,另一个指向数组结束,然后交换这两个指针所指向的元素,同时移动指针,直到它们相遇。以下是步骤:
1. 定义一个整型数组和它的长度。
2. 创建两个指针,`start` 初始化为数组的起始位置,`end` 初始化为数组的结尾位置减一。
3. 当 `start < end` 时,执行以下操作:
a. 交换 `array[start]` 和 `array[end]` 的值。
b. `start` 加一,`end` 减一。
4. 循环结束后,数组就被逆序了。
以下是一个简单的示例代码片段:
```c
#include <stdio.h>
void reverse_array(int array[], int size) {
int start = 0;
int end = size - 1;
while (start < end) {
// 交换元素
int temp = array[start];
array[start] = array[end];
array[end] = temp;
// 移动指针
start++;
end--;
}
}
// 测试函数
int main() {
int nums[] = {1, 2, 3, 4, 5};
int length = sizeof(nums) / sizeof(nums[0]);
printf("Original Array: ");
for (int i = 0; i < length; i++) {
printf("%d ", nums[i]);
}
reverse_array(nums, length);
printf("\nReversed Array: ");
for (int i = 0; i < length; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
当你运行这个程序,原始数组和逆序后的数组都会被打印出来。
阅读全文