二维数组的定义和引用
一、二维数组的定义
类型说明符 数组名 [ 常量表达式] [ 常量表达式]
二、二维数组的引用
数组名 [下标(行号)][下标(列号)]
同一维数组一样,二维数组也具有连续性、有序性和单一性;
在内存中,所有数据的存储方式都是线性存储;
1、二维数组的初始化
//形式一
int a[2][3] = {1,2,3},{4,5,6};
//形式二
int a[2][3] = {1,2,3,4,5,6};
//形式三
int a[][3] = {1,2,3,4,5,6};
计算数组的行数和列数;
int row = sizeof(a) / sizeof(a[0]);//计算行数;
int cols = sizeof(a[0]) / sizeof(a[0][0]);//计算列数;
2、二维字符数组
//方案一
char s[3][100] = {"Hello", "World", "China"};
//方案二
char s[][100] = {"Hello", "World", "China"};
eg:(1)判断一个字符串是不是回文字符串;
程序:
(2) 计算二维数组中所有元素的和;
程序:
(3)计算一个二维数组所有边上的元素的和;
程序:
(4)将一个二维数组每一行前后交换位置;
程序:
(5)比较二位字符数组中各个字符串的大小;
程序:
(6) 将二维数组中的字符串整体倒序;
程序:
(7) 用选择排序,从小到大排序二维数组中的字符串;
程序:
(8) 用冒泡排序,从小到大排序二维数组中的字符串;
程序:
(9)用二分法查找二维数组中的字符串;
程序:
练习;
1、用插入法对字符串排序;
程序:
运行结果:
2、求出整形数组a[N][N]主对角线最大值和辅对角线最小值;
程序:
运行结果:
3、求某三阶行列式
程序:
运行结果: