//用二维数组实现杨辉三角
#include<stdio.h>
int main(void)
{
/*********Begin*********/
int i, j, k,l;//for的控制变量
int arr[10][10];
for (i = 0; i < 10; i++)
{
arr[i][i] = 1;
arr[i][0] = 1;
}//把杨辉三角的外层(除了底层)全部用数字1包裹起来
for (i = 2; i < 10; i++)//从第三层(一维坐标)起,通过规律插入内层元素
{
for (j = 1; j <= i-1; j++)//外层全部被1围起来了,因此内层的二维下标范围为1~i-1
//杨辉三角,哪层有几个数,就在哪层
{
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];//杨辉三角的规律
}
}
//把10层杨辉三角里所有的数放入二维数组
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
{
if(j==0)//每层的第一位原样输出
{
printf("%d", arr[i][j]);
}
else
{
printf(" %d", arr[i][j]);
}
}
printf("\n");//每输入完一层换行
}
/*********End**********/
return 0;
}
第7关:杨辉三角
最新推荐文章于 2023-03-11 09:30:22 发布