#include <stdio.h>

int main()
{

int arr[10][10], i, j;

for (i = 0; i < 10; i++)
{
arr[i][0] = 1;
arr[i][i] = 1;
}

for (i = 2; i < 10; i++)
for (j = 1; j < i; j++)
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];

for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
{
printf("%3d ", arr[i][j]);
}
printf("\n");
}

return 0;
}

构建二维数组

#include <stdio.h>
#define LinNum 10

int main()
{
int arr[LinNum][LinNum];// Or int arr[LinNum][LinNum]={};
//让数组的每一项为0 不然会有非0随机数
for (int i = 0; i < LinNum; i++)
{
//首位为1
arr[i][0] = 1;
arr[i][i] = 1;
// 第0项都是1,所以不必从0开始
for (int j = 1; j < i; j++)
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
}

return 0;
}

打印

// 打印
for (int i = 0; i < LinNum; i++)
{
printf("第%2d行:", i + 1);
for (int j = 0; j < LinNum; j++)
{
if (arr[i][j])
printf("%4d", arr[i][j]);
}
printf("\n");
}

c 杨辉三角_#include