本實例使用二維數組生成並打印前 10 行楊輝三角形(帕斯卡三角形)。
a[i][0]=a[i][i]=1。a[i][j] = a[i-1][j-1] + a[i-1][j](i≥2, 1≤j
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
int main() {
int i, j;
int a[10][10];
printf("\n");
for (i = 0; i < 10; i++) {
a[i][0] = 1;
a[i][i] = 1;
}
for (i = 2; i < 10; i++)
for (j = 1; j < i; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j];
for (i = 0; i < 10; i++) {
for (j = 0; j <= i; j++)
printf("%5d", a[i][j]);
printf("\n");
}
return 0;
}
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
可使用一維數組滾動更新,空間複雜度 O(n)。