10、杨辉三角形
要求: 编写程序输出以下杨辉三角形(n=8)
拓展: 输出等腰杨辉三角形
#include <stdio.h>
int main(){
int i, j, a[8][8];
for (i=0; i<8; i++){
a[i][i]=1; //斜边上全为1
a[i][0]=1; //第0列全为1
}
for (i=2; i<8; i++){ //从第2行第1列开始,有数字是其两肩的数的和,所以i=2,j=1
for (j=1; j<=i-1; j++){ //第2行有一个数其是两肩的数的和,第3行有2个数...第i行有i-1个数...所以为j<=i-1
a[i][j] = a[i-1][j-1]+a[i-1][j];
}
}
for (i=0;i<8;i++){
for (j=0;j<=i;j++)
printf("%3d",a[i][j]);
printf("\n");
}
/*
完成拓展则需要:
1添加用户自定义n大小的语句:加scanf,将程序中所有的8改为n
2修改输出语句:添加空格输出
for(i=0; i<n; i++){
for(j=n-1-i; j>0; j--){ //观察等腰杨辉三角形可知:第0行输出n-1-0个'空格',第1行输出n-1-1个...第n-1行输出n-1-(n-1)个,所以j=n-1-i,j>0
printf(" ");
}
for(j=0; j<=i; j++){
printf("%3d ", a[i][j]);
}
printf("\n");
}
*/
return 0;
}