//在屏幕上打印杨辉三角。
图形如下:
整体分析:
根据图像发现规律:左边和右边都为1,中间项是上面两个值之和。
解题思路:
1> 定义数组,确定数组的tg[i][0]和tge[i][i]为1;
2> 确实中间项为tge[i][j] = tge[i - 1][j - 1] + tge[i - 1][j];
3> 分别打印确定的值,为了使输出结果为上图,在每行前面加上对应的空格
,再根据输出数字的的个数定义输出;
4> 每打印一行换行输出。
源代码:
#include<stdio.h>
#include<stdlib.h>
#define N 11
//3.在屏幕上打印杨辉三角。
//1
//1 1
//1 2 1
//1 3 3 1
int main()
{
int i = 0;
int j = 0;
int tge[N][N];
//先打印每一行的第一个和最后一个;
for (i = 0; i < N; i++)
{
tge[i][0] = 1;
tge[i][i] = 1;
}
//打印中间部分
for (i = 2; i < N; i++)
{
for (int j = 1; j < i; j++)
{
tge[i][j] = tge[i - 1][j - 1] + tge[i - 1][j];
}
}
for (i = 0; i < N; i++)
{
for (j = 0; j < 2 * (N - i); j++)
{
printf(" ");
}
for (j = 0; j <= i; j++)
{
printf("%4d", tge[i][j]);
}
printf("\n");
}
system("pause");
return;
}
运行结果: