C语言杨辉三角
思路分析
假设i表示行,j表示列。
由图可知,需要填值的元素 等于 它的上一个元素 与 左上角元素 的和
且如果j=0时,a[i][0]=1;如果i=j时,a[i][j]=1;其他情况下,a[i][j] = a[i-1][j-1] + a[i-1][j];得到了规律,就很容易实现杨辉三角.
源码实现
#include <stdio.h>
int main()
{
int a[8][8] = {0};
// 遍历行数
for(int i = 0; i < 8; i++)
{
// 遍历列数
for(int j = 0; j <= i; j++)
{
if((j == 0) || (j == i))
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
for(int i = 0; i < 8; i++)
{
for(int j = 0; j <= i; j++)
{
printf("%d ", a[i][j]);
}
printf('\n');
}
return 0;
}