</pre>一.何为杨辉三角? 杨辉三角是形如: 1 1 1 1 2 1 1 3 4 1 1 4 7 5 1<p> 二.代码实现</p><p></p><pre code_snippet_id="1550892" snippet_file_name="blog_20160107_2_1580332" name="code" class="plain">#include<stdio.h>
#include<stdlib.h>
#define N 100
int main()
{
int i, j, a[N][N];
int line;
printf("Please input lines:");
scanf_s("%d", &line);
for (i = 0; i < line; i++)
{
a[i][0] = 1;
a[i][i] = 1;
}
for (i = 2; i < line; i++)
{
for (j = 1; j <i; j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
for (i = 0; i < line; i++)
{
for (j = 0; j <= i; j++)
printf("%-8d", a[i][j]);
printf("\n");
}
return 0;
}
三、思路
1、杨辉三角的第一列以及对角线都为1
2、其余部分等于其左上角两个数之和
四、过程中遇到的问题
1、书上的例题是已经给出行数,但我想在编译的过程中输入行数,一开始是想定义一个变量,但是数组必须要确定的值,经过请教同学有了上面的解决办法;
2、在第2、3个for循环中不是很会确定i与j的初值以及第三个循环的判断条件。