C语言实现在屏幕上打印杨辉三角

★杨辉三角是什么?
杨辉三角是二项式系数在三角形中的一种几何排列。(惊讶好吧!我们不用管这个,只要了解下面这幅图就好了)


【算法思路】:观察上边的杨辉三角,我们可以得到一些规律。两边边上的数字都为1,从第三行开始里边的数字都是上边两个数字的和。找到以上规律我们就可以直接在二维数组里进行条件性赋值和输出就可以得到结果了。

【参考代码】:
#include<stdio.h>
#include<windows.h>

#define line 10

int main()
{
	int i = 0;
	int j = 0;
	int arr[line][line] = { 0 };
	for (i = 0; i < line; i++)
	{
		for (j = 0; j < line; j++)
		{
			if (j == 0)
			{
				arr[i][j] = 1;
			}
			//第一列赋值为0
			if (i == j)
			{
				arr[i][j] = 1;
			}
			//对角线赋值为0
			if ((i > 1) && (j > 0))
			{
				arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
			}	
			//从第三行第二列开始每个元素为上边元素和左上边元素之和
		}
	}
	for (i = 0; i < line; i++)
	{
		for (j = 0; j < 2*line-2*i; j++)
		{
			printf(" ");
		}
		//打印空格
		for (j = 0; j <= i; j++)
		{
			printf("%-4d", arr[i][j]);
		}
		//打印下三角元素的值
		printf("\n");
	}
	system("pause");
	return 0;
}

【运行结果】:

参考源码: day8_3


猜你喜欢

转载自blog.csdn.net/hansionz/article/details/80230600