#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int **a;
int n = 10;
a = (int **)malloc(sizeof(int *) * n);
memset(a, 0, sizeof(int *)*n);
for (int i=0; i<n; ++i) {
a[i] = (int *)malloc(sizeof(int) * n);
memset(a[i], 0, sizeof(int) * n);
}
// 杨辉三角 计算方式必须保证数字集和已经初始化为0
for (int i=0; i<n; ++i) {
for (int j=i; j>0; --j) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
a[i][0] = 1;
}
int u=4;
for (int i=0; i<n; ++i) {
printf("%*s", (n-i-1) * u, " ");
for (int j=0; j<=i; ++j) {
printf("%-*d%*s", u, a[i][j], u, " ");
}
putchar('\n');
}
return 0;
}
杨辉三角
最新推荐文章于 2018-06-13 11:35:59 发布