二维数组的本质还是一维数组,它是元素为一维数组的一维数组
练习题:打印一个杨辉直角三角形
思路;1,手动画出杨辉三角形,观察规律
2,发现规律杨辉三角形基本基本框架为二维数组的框架
3,第一竖列和斜着的一排都为1
4,只需要打印左下角,舍弃右上角
5,其余数字的值为前一行前一列数字的值与前一行当前列数字的值的和
思路明确,代码开始
#include <stdio.h>
define M 9 //宏定义M
define N 9 //宏定义N
int main ()
{
int a[M][N]={0}; //定义一个M行N列的二维数组
int i = 0; //初始化i j 变量
int j = 0;
for(i = 0;i < M;i ++) //打印M行
{
for(j = 0;j <= i;j ++) //打印N列
{
if(0 == j || i==j) //第一竖列和斜着的一排都为1
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i - 1][j - 1]+a[i - 1][j]; //数字的值为前一行前一列数字的值与前一行当前列数字的值的和
}
printf("%d\t",a[i][j]);
}
printf("\n"); //需要注意换行的时机
}
return 0;
}