C語言動態建立陣列並列印元素和


假設我們有一個數字n。我們將必須動態建立一個大小為n的陣列,並逐個輸入n個數字,然後求和。為了建立陣列,我們可以使用stdlib.h標頭檔案中提供的malloc()或calloc()函式。n的值也透過標準輸入(stdin)提供。

因此,如果輸入類似於n = 6,陣列元素為9、8、7、2、4、3,則輸出將為33,因為9 + 8 + 7 + 2 + 4 + 3 = 33。

為了解決這個問題,我們將遵循以下步驟:

  • sum := 0

  • 輸入一個數值並將其儲存到n

  • arr := 動態建立一個大小為n的陣列

  • for i := 0 to n-1 do

    • 輸入一個數值並將其儲存到arr[i]

  • for i := 0 to n-1 do

    • sum := sum + arr[i]

  • 返回sum

示例

讓我們看下面的實現來更好地理解:

#include <stdio.h>
#include <stdlib.h>
int main(){
    int *arr;
    int n;
    int sum = 0;
    scanf("%d", &n);
    arr = (int*) malloc(n*sizeof(int));
    for(int i = 0; i < n; i++){
        scanf("%d", (arr+i));
    }
    for(int i = 0; i < n; i++){
        sum += arr[i];
    }
    printf("%d", sum);
}

輸入

6 9 8 7 2 4 3

輸出

33

更新於:2021年10月8日

7K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告