什么是二维数组
(一维数组只有一行)
二维数组,有行有列
0列 1 2
第0行 1 2 3
4 5 6
2行 7 8 9
如何定义二维数组:
格式: 类型标识符 数组名[行的长度][列的长度];
ex: int a[3][4];//一共有多少个元素?等于3*4=12个
意义:定义了一个二维数组名为a这个数组里面含有12个元素,而每一个元素都是一个整型变量,他们是
a[0][0],a[0][1],a[0][2],a[0][3] 对于第一行而言,行的下标都是零,只有列的下标在变化
a[1][0],a[1][1],a[1][2],a[1][3]
a[2][0],a[2][1],a[2][2],a[2][3]
对于第一列而言,列的下标都是0,只有行的下标在变化。
如何给二维数组赋初值,就是给二维数组每一个元素赋初值
1)int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
2)int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
3)可以省略行但不能省略列
A:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
B:int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
C:int a[][4]={1,2,3,4,5,6,7,8,9,10,11};
a[2][3]=0;
D:int a[][4]={{1,3,4},{5,6,7,8},{9,10,11,12}};
a[0][3]=0;
二维数组的行的长度,表示一共有多少行。列的长度表示每一行的元素个数
二维数组的赋值原则:要优先满足前面的行,然后再来满足后面的行。(前面的行不能少元素,后面的行可以少元素)
数组的输入和输出:
1)有数组就要用循环,一维数组,只要一个循环。
2)二维数组,它也要循环,两次循环
我们要输出三行,而且第一行又要输出四个数据
先来输出第一行的4个元素
printf("%d",a[0][0]);
printf("%d",a[0][1]);
printf("%d",a[0][2]);
printf("%d",a[0][3]);
for(i=0;i<3;i++)//3行的长度
{
for(j=0;j<4;j++)//4列的长度
{
printf("%5d",a[i][j]);
}
printf("\n");
}
(一维数组只有一行)
二维数组,有行有列
0列 1 2
第0行 1 2 3
4 5 6
2行 7 8 9
如何定义二维数组:
格式: 类型标识符 数组名[行的长度][列的长度];
ex: int a[3][4];//一共有多少个元素?等于3*4=12个
意义:定义了一个二维数组名为a这个数组里面含有12个元素,而每一个元素都是一个整型变量,他们是
a[0][0],a[0][1],a[0][2],a[0][3] 对于第一行而言,行的下标都是零,只有列的下标在变化
a[1][0],a[1][1],a[1][2],a[1][3]
a[2][0],a[2][1],a[2][2],a[2][3]
对于第一列而言,列的下标都是0,只有行的下标在变化。
如何给二维数组赋初值,就是给二维数组每一个元素赋初值
1)int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
2)int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
3)可以省略行但不能省略列
A:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
B:int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
C:int a[][4]={1,2,3,4,5,6,7,8,9,10,11};
a[2][3]=0;
D:int a[][4]={{1,3,4},{5,6,7,8},{9,10,11,12}};
a[0][3]=0;
二维数组的行的长度,表示一共有多少行。列的长度表示每一行的元素个数
二维数组的赋值原则:要优先满足前面的行,然后再来满足后面的行。(前面的行不能少元素,后面的行可以少元素)
数组的输入和输出:
1)有数组就要用循环,一维数组,只要一个循环。
2)二维数组,它也要循环,两次循环
我们要输出三行,而且第一行又要输出四个数据
先来输出第一行的4个元素
printf("%d",a[0][0]);
printf("%d",a[0][1]);
printf("%d",a[0][2]);
printf("%d",a[0][3]);
for(i=0;i<3;i++)//3行的长度
{
for(j=0;j<4;j++)//4列的长度
{
printf("%5d",a[i][j]);
}
printf("\n");
}