用 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP