打印杨辉三角,如图所示:
编程思路:
1.把杨辉三角看成二维数组
2.对每一个数组元素初始化
3.打印每一行的空格
4.打印每一行的元素
#include<stdio.h>
#define ROW 5 //杨辉三角的行数
#define COL 5 //杨辉三角的列数
void PrintYangHuiTriangle()
{
int a[ROW][COL] = { 0 }; //把杨辉三角看成是一个二维数组
int i = 0;
int j = 0;
for (i = 0; i < ROW; i++) //初始化数组的每一个元素
{
a[i][0] = 1; //每一行的第一个元素都是1
for (j = 0; j < COL; j++)
{
if (i == j) //每一行最后一个元素的行和列相等,且都是1
{
a[i][j] = 1;
}
else if (i>1 && j > 0) //从第2行,第1列开始才计算
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
}
for (i = 0; i < ROW; i++)
{
for (j = 0; j < ROW - 1 - i; j++) //打印每一行的空格
{
printf(" ");
}
for (j = 0; j <= i; j++) //打印每一行的元素,元素之间有空格
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
int main()
{
PrintYangHuiTriangle();
system("pause");
return 0;
}