如題:
#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,第二行是輸入數組;後三行分別是最大值、最小值和求和結果。
補充:
這道題相對比較簡單,稍微使用動態內存分配就可以實現,需要注意的是要釋放內存空間。