用c语言将一个数组中的元素进行逆序存放。比如:原数据为1、2、3、4、5、6、7、8、9,逆序存放为9、8、7、6、5、4、3、2、1.
时间: 2023-11-24 12:52:47 浏览: 1544
以下是用C语言将一个数组中的元素进行逆序存放的代码:
```c
#include <stdio.h>
void reverse(int arr[], int len) {
int temp;
for (int i = 0; i < len / 2; i++) {
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int len = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
reverse(arr, len);
printf("\nReversed array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
Original array: 1 2 3 4 5 6 7 8 9
Reversed array: 9 8 7 6 5 4 3 2 1
```
相关问题
用c语言写 指针将数组中的元素逆序存放
以下是用C语言实现指针将数组中的元素逆序存放的代码:
```c
#include <stdio.h>
void inv(int *x, int n);
int main() {
int i, a[10] = {3, 7, 9, 11, 0, 6, 7, 5, 4, 2};
printf("The original array:\n");
for (i = 0; i < 10; i++) {
printf("%3d", a[i]);
}
printf("\n");
inv(a, 10);
printf("The array has been inverted:\n");
for (i = 0; i < 10; i++) {
printf("%3d", a[i]);
}
printf("\n");
return 0;
}
void inv(int *x, int n) {
int i, tem;
for (i = 0; i < n / 2; i++) {
tem = x[i];
x[i] = x[n - i - 1];
x[n - i - 1] = tem;
}
}
```
C语言将一个数组中的值逆序重新存放
在C语言中,你可以使用两个指针,一个指向数组的开始,另一个指向结束,然后通过循环逐个交换它们指向的元素直到相遇。这是最基础的数组逆序操作,以下是简单的步骤:
1. 初始化两个指针,`start` 指向数组的第一个元素,`end` 指向数组的最后一个元素。
2. 当 `start < end` 时,执行以下操作:
a. 交换 `array[start]` 和 `array[end]` 的值。
b. 将 `start` 向右移动一位 (`start++`),`end` 向左移动一位 (`end--`)。
3. 循环结束后,数组就被逆序了。
这里是一个示例函数来完成这个任务:
```c
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--; // 移动到上一个
}
}
```
阅读全文