打印杨辉三角
程序员文章站
2022-06-06 22:39:12
...
题目:打印杨辉三角(输出10列)。
分析:杨辉三角有上图所示的性质,第一列全为1,而且上一行的两列相加等于下一行的一列。显而易见,用二维数组实现再合适不过,首先将第一列全部设置为1,剩下的全部为0。再通过相加给剩余元素赋值。最后只显示左下半三角即可。
代码如下:
#include <stdio.h>
int main(){
int a[10][10] = {0},i,j;
for(i = 0; i<10;i++)
a[i][0] = 1; //将二维数组的第一列全部设置为1
for(i = 1;i<10;i++){
for(j = 1;j<10;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("%d\t",a[i][j]);
}
printf("\n");
}
}
运行结果: