C语⾔实现杨辉三⾓(⼆维数组)
解题思路
我们可以杨辉三⾓看做是⼀个⼆维数组,分别有⾏和列组成,我们发现规律,第⼀⾏以及对⾓线上的元素全部为1,累加是从第3⾏第⼆列开始,⽐如这个2,就是第⼆⾏第⼀列的元素加上第⼆⾏第⼆列。
源码如下
#include<stdio.h>
int main()
怎么定义二维数组c语言
{
int arr[10][10] = { 0 };//定义⼀个数组
int i = 0;//定义⾏
int j = 0;//定义列
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)//这⾥的j⼩于等于i,因为j最多到达对⾓线那⾥就不⽤再继续了
{
if (i == j)//将对⾓线元素置为1
{
arr[i][j] = 1;
}
if (j == 0)//将第⼀列元素置为1,注意数组下标从0开始
{
arr[i][j] = 1;
}
if (i >= 2 && j >= 1)//进⾏累加操作
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
for (i = 0; i < 10; i++)//打印输出
{
for (j = 0; j <= i; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}