對不確定數組長度和內容的數組元素求和

如題:
題目

#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函數的步驟:

  1. 定義長度n;
  2. 輸入長度n;
  3. 定義動態數組,動態分配內存;
  4. 使用該數組、內存;
  5. 釋放該數組指向的內存空間。

該程序結果

結果
其中,前兩行的第一行是輸入n,第二行是輸入數組;後三行分別是最大值、最小值和求和結果。
補充:
這道題相對比較簡單,稍微使用動態內存分配就可以實現,需要注意的是要釋放內存空間。

發佈了8 篇原創文章 · 獲贊 3 · 訪問量 1769
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章