C語言中如何計算陣列元素除以其前一個元素後的總和?


陣列是由相同資料型別元素組成的序列。在這個問題中,我們將考慮整數陣列來解決問題。在這個問題中,我們將找到透過將元素除以前一個元素得到的元素之和。

讓我們看幾個例子來更好地理解這個問題:

示例1:

Array : 3 , 5 ,98, 345
Sum : 26

解釋:3 + 5/3 + 98/5 + 345/98 = 3 + 1 + 19 + 3 = 26

我們將每個元素除以前一個元素,並只考慮除法的整數部分來求和。

示例2:

Array : 2, 5 , 8, 11, 43 , 78 , 234
Sum : 13

解釋:2 + 2 + 1 + 1 + 3 + 1 + 3 = 13

演算法

該演算法遍歷陣列中的每個元素。並將它除以前一個元素。然後,將商值新增到sum變數中。

Input : Array - int arr[]
Output : int sum


Step 1: Initialize sum = arr[0]
Step 2: for(i = 1 to size of arr ) follow step 3
Step 3 : sum = sum + (arr[i]/arr[i-0] )
Step 4: print the sum

這是一個簡單的四步演算法,用於查詢除以前一個數字後的陣列元素之和。我們用陣列的第一個元素初始化了sum,因為根據邏輯,第一個元素沒有任何前一個元素,這意味著它不能被任何元素除。因此,考慮for迴圈會產生錯誤,因為我們將訪問-1索引處的元素,這是錯誤的。

示例

 線上演示

#include<stdio.h>
int main() {
   int arr[] = { 2, 5 , 8, 11, 43 , 78 , 234 };
   int n = sizeof(arr)/sizeof(arr[0]);
   int sum = arr[0];
   for (int i = 1; i < n; i++) {
      sum += arr[i] / arr[i - 1];
   }
   printf("The sum of array after dividing number from previous numbers is %d 
", sum);    return 0; }

輸出

The sum of array after dividing number from previous number is 13.

更新於:2019年10月4日

180次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.