宝塔形状的杨辉三角,前n行的输出
#include <stdio.h>
int main() {
//输出宝塔形杨辉三角的前N行
int row = 7; //行数
int col = 2 * row; //列数
int i, j, a[7][14] = {0}; //鉴于学生们不学动态申请内存,这里的行列数直接写好。
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
//先找1的位置
if (j == row - 1 - i || j == row - 1 + i) {
a[i][j] = 1;
printf("%5d", a[i][j]);
//从第二行开始,输出的数字在两边1的中间位置,并且当前列的上一行不能有数字(为0)
} else if (i > 0 && j > row - 1 - i && j < row - 1 + i && a[i - 1][j] == 0) {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j + 1];
printf("%5d", a[i][j]);
} else {//其他情况输出空格
printf("%5c", ' ' );
}
}
printf("\n");//每一行结尾输出换行
}
return 0;
}本篇文章链接 地址:https://wmzos.com/?id=52

如果有帮助到您,打赏一下作者吧~
发表评论
这个我会老师你微信理我一下
添加新评论