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次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告