将一个数组逆序
时间: 2024-02-20 19:00:47 浏览: 19
要将一个数组逆序,可以使用双指针法。定义两个指针,一个指向数组的第一个元素,一个指向数组的最后一个元素,然后交换它们的值,然后将左指针右移一位,右指针左移一位,继续交换它们的值,直到左指针大于等于右指针。以下是一个示例代码:
```
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--;
}
}
```
这个函数接受一个整数数组和数组的大小作为参数,将数组逆序。
相关问题
将一个数组逆序输出c语言
有两种方法可以将一个数组逆序输出,第一种方法是直接从最后一个元素进行输出即可,倒着输出;第二种方法是将数组的第一个元素与最后一个元素交换,依次类推,然后正顺序输出。以下是两种方法的C语言代码实现:
//第一种方法
#include <stdio.h>
#define n 5
int main() {
int i;
int arr[n] = { 0 };
printf("请输入5个数字:\n");
for (i = 0;i < n;i++) {
scanf("%d", &arr[i]);
}
printf("\n");
for (i = n-1;i >= 0;i--) {
printf("%d ", arr[i]);
}
printf("\n\n");
return 0;
}
//第二种方法
#include <stdio.h>
#define n 5
int main() {
int i,t=0;
int arr[n] = { 0 };
printf("请输入5个数字:\n");
for (i = 0;i < n;i++) {
scanf("%d", &arr[i]);
}
printf("\n");
for (i = 0;i < n/2;i++) {
t=arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = t;
}
printf("数组逆序输出为:\n");
for (i = 0;i < n;i++) {
printf("%d ", arr[i]);
}
printf("\n\n");
return 0;
}
c语言将一个数组逆序输出
以下是C语言将一个数组逆序输出的代码:
```c
#include <stdio.h>
int main() {
int arr[] = {0,1,2,3,4,5,6,7,8,9};
int i;
// 先按顺序输出
for(i = 0; i < 10; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
// 逆序输出
printf("逆序输出:\n");
for(i = 9; i >= 0; i--) {
printf("arr[%d] = %d\n", i, arr[i]);
}
return 0;
}
```