杨辉三角这个问题是我们从小学开始上学的时候就见过的问题,从上学的时候我们就在一直接受对于这个问题的新知识,这个也是我们的数学家一直研究的问题,但是对于像我这样的刚刚开始学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;
}
希望能够帮助到大家,也希望大家能给我建议,和你们更好的方法。