用C语言写杨辉三角

      杨辉三角这个问题是我们从小学开始上学的时候就见过的问题,从上学的时候我们就在一直接受对于这个问题的新知识,这个也是我们的数学家一直研究的问题,但是对于像我这样的刚刚开始学C语言的菜鸟级别的小白来说,这个用C语言写还是有点难度,也是进阶的一步,所以经过几次的练习和编译,得到一点小收获,所以在这分享给大家。毕竟是小小白问题还是比较多,请大家多度指导。

#include <stdio.h>
#define N 14       // 预处理 可以改变数组的大小
int main()
{
	int i = 0, j = 0, k = 0, n = 0;
	int a[N][N];  //定义二维数组a[N][N]

	printf("请输入要打印的行数:\n");
 
	scanf("%d",&n);
	for( i = 1; i <= n; i++ )
	{
		a[i][1] = a[i][i] = 1;  // 两边的数令它为1,因为循环从1开始
	}
	for( i = 3; i <= n; i++)
	{
		for( j = 2; j <= i-1; j++)
			a[i][j] = a[i-1][j-1] + a[i-1][j];   //杨辉三角用二维数组算的公式;
	}
	for( i = 1; i <= n; i++)
	{
		for( k = 1; k <= n-i; k++)          // 补每一行前面的空格
			printf("   ");
		for( j = 1; j <= i; j++)   //当j<=i时输出的是需要的数  a[3][1],a[3][2],a[3][3] 只有这几个数 后面的不需要
			printf("%6d",a[i][j]);
		printf("\n");
	}

	printf("\n");


	system("pause");
	return 0;
}

       希望能够帮助到大家,也希望大家能给我建议,和你们更好的方法。

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/zyl_1102179268/article/details/52825666
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞