// 编写一个程序，要求用户输入一个整数n，然后动态创建一个整数数组，并通过循环从用户输入中读取n个整数并存储到数组中。然后，使用realloc函数将数组的大小减半，并打印减半后的数组内容。
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    printf("请输入一个整数: ");
    scanf("%d", &n);
    int *nums = (int *)malloc(n * sizeof(int *));
    if (NULL == nums)
    {
        perror("malloc");
        exit(-1);
    }

    printf("请输入 %d 个整数: ", n);
    for (int i = 0, temp = 0; i < n; i++)
    {
        scanf("%d", &temp);
        nums[i] = temp;
    }

    int halfN = n / 2; // n 的一半
    nums = (int *)realloc(nums, halfN * sizeof(int *));

    printf("减半后的数组内容打印如下: \n");
    while (halfN--)
        printf("%d ", *nums++);
    printf("\n");

    free(nums);

    return 0;
}