#include<stdio.h>
void main()
{
int N, i, j;
int *elements;
int **diffTriangle;
printf("Please input N:");
scanf("%d", &N);
// 動態申請壹維數據內存來存儲輸入數據
elements = (int*)malloc(N*sizeof(int));
// 動態申請二維數據內存來存儲間差數據
diffTriangle = (int**)malloc((N - 1)*sizeof(int*));
for (i = 0; i < N - 1; i++)
diffTriangle[i] = (int*)malloc((N - 1)*sizeof(int));
// 輸入數據
printf("Please input %d numbers:", N);
for (i = 0; i < N; i++)
scanf("%d", &elements[i]);
// 計算間差
for (i = 0; i < N - 1; i++)
for (j = 0; j <= i; j++)
diffTriangle[i][j] = elements[i+1] - elements[i-j];
// 輸出
for (i = 0; i < N - 1; i++)
{
for (j = 0; j <= i; j++)
printf("%d\t", diffTriangle[i][j]);
printf("\n");
}
// 清空內存
free(elements);
for (i = 0; i < N - 1; i++)
free(diffTriangle[i]);
free(diffTriangle);
}