如题:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n;
scanf("%d",&n);
int *num = (int*)malloc(sizeof(int)*n);
for(int i = 0; i < n; i ++)
scanf("%d",&num[i]);
int min = num[0];
int max = num[0];
int sum = 0;
for(int i = 0; i < n; i ++)
{
if(num[i] > max)
max = num[i];
if(num[i] < min)
min = num[i];
sum += num[i];
}
printf("%d\n%d\n%d",max,min,sum);
free(num);
return 0;
}
这里使用的malloc函数的步骤:
- 定义长度n;
- 输入长度n;
- 定义动态数组,动态分配内存;
- 使用该数组、内存;
- 释放该数组指向的内存空间。
该程序结果
其中,前两行的第一行是输入n,第二行是输入数组;后三行分别是最大值、最小值和求和结果。
补充:
这道题相对比较简单,稍微使用动态内存分配就可以实现,需要注意的是要释放内存空间。