1、二维数组的定义
数据类型 数组名[行数][列数]。
2、数组的引用
数组名[下标][下标]。
3、二维数组的初始化
分行初始化;
按元素排列顺序进行初始化;
列数初始化;
例如:int arr[10][20] = {0};
4、根据所学的知识,使用二维数组,输出二维数组下三角元素的值。
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
for(i=0; i<3; i++)
{
for(j=0; j<=i; j++)
{
printf("%d ",arr[i][j]);
}
putchar('\n');
}
return 0;
}
5、二维数组的应用,求出最大值以及最大值所在的行号、列号。
#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int max = arr[0][0];
int line_num,colmu_num;
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
if(max < a[i][j])
{
max = a[i][j];
line_num = i;
colmu_num = j;
}
printf("%2d",a[i][j]);
}
putchar('\n');
}
printf("%d %d %d",arr[i][j],line_num,colmu_num);
return 0;
}
6、二维数组的应用——矩阵的转置。
#include <stdio.h>
int main()
{
int arr[2][4] = {{1,2,3,4},{5,6,7,8}};
int i,j;
for(i = 0; i<2; i++)
{
for (j=0; j<4; j++)
{
printf("%d",arr[i][j]);
}
putchar('\n');
}
printf("-----------------"); //分割线
for(i=0; i<4; i++)
{
for(j=0; j<2; j++)
{
printf("%d",arr[j][i]);
}
}
return 0;
}
7、二维数组的应用——杨辉三角
#include <stdio.h>
int main()
{
int arr[10][10] = {0};
int i,j;
for(i=0; i<10; i++)
{
a[i][0] = 1;
for(j=1; j<i; j++)
{
arr[i][j]= arr[i-1][j-1]+ arr[i-1][j];
}
arr[i][j]=1;
}
for(i=0; i<10; i++)
{
for(j=0; j<=i; j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
return 0;
}