35 lines
919 B
C
35 lines
919 B
C
// 编写一个程序,要求用户输入一个整数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;
|
||
} |