c语言一维数组逆序
时间: 2023-07-03 13:19:43 浏览: 151
对于一个一维数组,可以使用双指针的方式将其逆序。具体做法是,定义两个指针,一个指向数组的首元素,另一个指向数组的尾元素,然后交换它们所指向的元素,直到两个指针相遇为止。下面是示例代码:
```c
void reverse(int arr[], int size) {
int left = 0;
int right = size - 1;
while (left < right) {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
```
在这个示例代码中,`arr` 表示需要逆序的数组,`size` 表示数组的长度。函数中使用了 `left` 和 `right` 两个指针来遍历数组,并不断交换它们所指向的元素,直到两个指针相遇为止。
相关问题
c语言一维数组逆序输出
可以使用以下代码实现一维数组逆序输出:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
for (int i = size - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:5 4 3 2 1
c语言一维数组逆序排列
在 C 语言中,对一维数组进行逆序排列可以使用循环和临时变量来实现。这里提供一种常见的冒泡排序法,它通过两层嵌套循环,一次比较并交换相邻元素,直到整个数组有序。
```c
#include <stdio.h>
void reverse_array(int arr[], int size) {
int i, j;
for (i = 0; i < size / 2; i++) { // 遍历数组的一半
int temp = arr[i]; // 存储当前元素
arr[i] = arr[size - 1 - i]; // 将当前元素放到最后
arr[size - 1 - i] = temp; // 将原来位置的元素移到前面
}
}
// 测试函数
int main() {
int array[] = {1, 2, 3, 4, 5};
int length = sizeof(array) / sizeof(array[0]);
printf("Original Array: ");
for (int i = 0; i < length; i++) {
printf("%d ", array[i]);
}
reverse_array(array, length);
printf("\nReversed Array: ");
for (int i = 0; i < length; i++) {
printf("%d ", array[i]);
}
return 0;
}
```
当你运行这个程序,会看到原数组和逆序后的数组打印结果。
阅读全文