用 C 编程语言对数组求和得出三角形


通过数组得到的和三角形是一个通过逐个减小数组元素得出的三角形。并且新形成的数组是现有数组相邻元素的和。此过程将持续下去,直到数组中仅剩余一个元素。

我们举个例子,以便更好地解释内容,

Array = [3,5,7,8,9]

输出

[106]
[47,59]
[20,27,32]
[8,12,15,17]
[3,5,7,8,9]

说明

For the first array : ( 3 + 5 = 8), ( 5 + 7 = 12), ( 7 + 8 = 15),( 8 + 9 = 17)
For the second array: 8 + 12 = 20 , 12 + 15 = 27 , 15 + 17 = 32
For the third array: 20 + 27 = 47 , 27 + 32 = 59
For the final array: 47 + 59 = 106

此代码按示例说明中所示运行。因此,为此我们需要一个递归函数,该函数将对每个数组调用自身。

示例

#include<stdio.h>
void printTriangle(int arr[] , int n) {
   if (n < 1) {
      return;
   }
   int temp[n - 1];
   for (int i = 0; i < n - 1; i++) {
      int x = arr[i] + arr[i + 1];
      temp[i] = x;
   }
   printTriangle(temp, n - 1);
   for (int i = 0; i < n ; i++) {
      if(i == n - 1)
         printf("%d ",arr[i]);
      else
         printf("%d, ",arr[i]);
   }
   printf("
"); } int main() {    int arr[] = { 3,5,7,8,9};    int n = sizeof(arr) / sizeof(arr[0]);    printTriangle(arr, n); }

输出

106
47, 59
20, 27, 32
8, 12, 15, 17
3, 5, 7, 8, 9

更新于: 09-Aug-2019

621 查看

开启你的职业

完成课程可获得认证

开始
广告