C语言写杨辉三角

上来先展示一下运行结果吧:

 接下来就是分析过程,先来画图分析一番:

根据画图分析的结果,就可以编写代码了:

#include<stdio.h>
#define row 20    //定义行数常量,更改数值改变行数
#define col 20    //定义列数常量,更改数值改变列数

int main()
{
	int arr[row][col] = { 0 };  //  初始化数组,并且元素都为0
	int i = 0, j = 0;
	//  设置和计算数组中的每个元素的值,数组的下标是从0开始
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < i; j++)
		{
			if (j == i)        // 对角线的值设置为1
			{
				arr[i][j] = 1;
			}

			if (j == 0)          // 数组第一列的值设置成1
			{
				arr[i][j] = 1;
			}

			if (i >= 2 && j >= 1)  // 从第二行第一列开始是上一行的两个数的和
			{
				arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
			}
		}
	}

	// 打印数组中的每个元素的值
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < i; j++)
		{
			printf("%5d ", arr[i][j]);
		}
		printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/xingyuncao520025/article/details/131863210