数组05 – 零基础入门学习C语言27

第六章:数组05

让编程改变世界

Change the world by program

二维数组元素的引用和初始化

数据类型 数组名 [常量表达式1][常量表达式2] ={ 初始化数据 };

我们有4种方法对二维数组初始化:

(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) 可以对部分元素赋初值。

如:

int a[3][4]={{1}, {5}, {9}};

有请直观图:

宽客网,量化投资,宽客俱乐部

二维数组

也可以对各行中的某一元素赋初值, 如:

int a[3][4]={{1}, {0, 6}, {0, 0, 11}};

有图有真相:

宽客网,量化投资,宽客俱乐部

二维数组

其实也可以只对某几行元素赋初值。

如:

int a[3][4]={{1}, {5, 6}};

有图有真相:

宽客网,量化投资,宽客俱乐部

二维数组

(4) 如果对全部元素都赋初值, 则定义数组时对第一维的长度可以不指定, 但第二维的长度不能省。

如:

int a[3][4]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

它等价于:

int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

在定义时也可以只对部分元素赋初值而省略第一维的长度, 但应分行赋初值。

如:

int a[][4]={{0, 0, 3}, {}, {0, 10}};

有图有真相:

宽客网,量化投资,宽客俱乐部

二维数组

例题:如图, 一个学习小组有5个人, 每个人有三门课的考试成绩。

将各个数据保存到二维数组a[5][3]中, 并求全组分科的平均成绩和总平均成绩。

宽客网,量化投资,宽客俱乐部

二维数组

对数组a[5][3]:

  1. 按行分段赋值可写为:

int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };

  1. 按行连续赋值可写为:

int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};

这两种赋初值的结果是完全相同的。

程序实现如下:

include

void main()

{

    int i, j, s=0, average, v[3];

    int a[5][3] ={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};

    for(i=0; i 二维数组程序举例

NO.1 将一个二维数组行和列元素互换, 存到另一个二维数组中。

将数组a[2][3]转化为数组b[3][2]

宽客网,量化投资,宽客俱乐部

二维数组举例

化繁为简:无论多少维数组, 分解成一维的先进行转换!

a[0][j] => b[j][0]

a[0] => b[0]

include

void main()

{

    int a[2][3] = {{1, 2, 3}, {4, 5, 6}};

    int b[3][2], i, j;

    printf(″array a: n″);

    for(i=0;i

NO.2 有一个3×4的矩阵, 要求编程序求出其中值最大的那个元素的值, 以及其所在的行号和列号。

宽客网,量化投资,宽客俱乐部

二维数组举例

代码清单:

include

void main()

{

    int i, j, row=0, colum=0, max;

    int a[3][4] = {{1, 2, 3, 4}, {9, 8, 7, 6}, {-10, 10, -5, 2}};

    max = a[0][0];

    for (i=0;imax)

            {   

                max = a[j];   

                row = i;   

                colum = j;

            }

        }

    }

    printf(″max=%d, row=%d, colum=%dn″, max, row, colum);

}

NO.3 从键盘上输入9个整数, (对照九宫格的形式, 输入三行, 每行输入三个数) 保存在二维数组中, 按数组原来位置输出第一行和第一列的所有元素。

宽客网,量化投资,宽客俱乐部

二维数组转换

视频下载
技术, IT技术, 视频教程, C语言

风险提示及免责条款

市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击下方“内容举报”进行投诉反馈!
立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部