c语言编程笔录

首页 >   > 笔记大全

笔记大全

c语言 数组中整数逆序放置

更新时间:2024-01-18

需求说明

我们需要编写一个程序,该程序将给定的整数数组以逆序放置。

解决方案

为了实现这个需求,我们可以使用以下步骤:

  1. 声明一个整数数组,并初始化数组元素。
  2. 使用两个指针,一个指向数组的起始位置,另一个指向数组的末尾。
  3. 循环遍历数组,交换两个指针所指向的元素,然后将起始指针向后移动,末尾指针向前移动。
  4. 重复步骤3,直到起始指针指向的位置超过或等于末尾指针指向的位置。
  5. 打印或返回逆序后的整数数组。

以下是使用C语言编写的代码示例:

#include 

void reverseArray(int arr[], int size) {
    int start = 0;
    int end = size - 1;

    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};
    int size = sizeof(arr) / sizeof(arr[0]);

    reverseArray(arr, size);

    printf("逆序后的数组:");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

代码解释

首先,在main函数中声明了一个整数数组arr,并初始化其元素为1、2、3、4、5。

然后,通过计算数组的长度,获取数组的大小。

接下来,调用reverseArray函数,将数组arr和大小传递给该函数。

在reverseArray函数中,定义了两个指针start和end,初始值分别为数组的起始位置和末尾位置。

使用while循环遍历数组,每次循环都将start指针所指向的元素与end指针所指向的元素进行交换,并将start右移,end左移。

循环结束后,打印出逆序后的整数数组。

总结

通过以上的代码,我们可以将给定的整数数组逆序排列。使用两个指针交换数组元素的方法是一个常见的解决方案,可以适用于许多其他问题。

请注意,为了简化示例,我们使用了一个固定大小的数组,但在实际应用中,可能需要动态分配内存以适应不同大小的数组。