定义一个二维数组a的定义 a[5][3] 存放 5 个人 3 门课的成绩,实际上能输入16个成绩.求大神解释下

二维数组a的定义的定义与初始化

茬实际的工作中仅仅使用一维数组是远远不够的,例如一个学习小组有5个人,每个人有3门课的考试成绩如果使用一维数组解决是很麻烦的。这时可以使用二维数组a的定义,维数组的定义方式与一维数组类似其语法格式如下:

类型说明符 数组名[常量表达式1] [常量表达式2];

在上述语法格式中,“常量表达式1”被称为行下标“常量表达式2”被称为列下标。

例如定义一个3行4列的二维数组a的定义,具体如下:

在上述定义的二维数组a的定义中共包含3*4个元素,即12个元素接下来,通过一张图来描述二维数组a的定义a的元素分布情况

从图中可以看出,二维数组a的定义a是按行进行存放的先存放a行,再存放a[1行、a2行,并且每行有4个元素,也是依次存放的

完成二维数组a的定义的定义后,需偠对二维数组a的定义进行初始化,初始化二维数组a的定义的方式有4种,具体如下

(1)按行给二维数组a的定义赋初值。例如:

在上述代码中等号后面有一对大括号,大括号中的第1对括号代表的是第1行的数组元素第2对括号代表的是第2行的数组元素。

(2)将所有的数组元素按行順序写在1个大括号内例如

在上述代码中,二维数组a的定义a共有两行每行有3个元素,其中第1行的元素依次为1、2、3,第2行元素依次为4、5、6

(3)对部分数组元素赋初值。例如:

在上述代码中,只为数组b中的部分元素进行了赋值对于没有赋值的元素,系统会自动赋值为0数組b中元素的存储方式如下所示。

(4)如果对全部数组元素置初值则二维数组a的定义的第1个下标可省略,但第2个下标不能省略例如

系统會根据固定的列数,将后边的数值进行划分自动将行数定为2。

二维数组a的定义的引用方式同一维数组的引用方式一样也是通过数组名囷下标的方式来引用数组元素,其语法格式如下:

数组名[下标] [下标];

在上述语法格式中下标值应该在已定义的数组的大小范围内,例如丅面这种情况就是错误的。

在上述代码中数组a可用的行下标范围是0~2,列下标是0~3a[3][4]超出了数组的下标范围。为了帮助读者更好地掌握二维數组a的定义的引用接下来,通过一个案例来演示二维数组a的定义的遍历

在上图中定义了一个二维数组a的定义aray,该数组有3行4列当使用嵌套for循环遍历二维数组a的定义元素时,外层for循环用于变量数组的行元素内层for循环用于遍历数组的列元素。从图中可以看出程序依次将數组aray中的元素输出了。

熟悉了二维数组a的定义的定义和引用接下来定义一个二维数组a的定义 StuScore[5][3],用来存放5名同学3门课程的成绩并定义变量m表示学生,n表示第几门成绩aver表示每名同学3门课程的平均成绩,sum表示每名同学3门课的总成绩具体如下案例所示:


上面案例中实现了计算小组各科平均分的功能。其中第415行代码定义了一个二维数组a的定义,用来存储小组中每个成员的各科成绩第25~45行代码通过遍历列下标獲取每个小组不同学科的总分,第46~74行代码通过遍历行下标获取每个小组成员的总分最后将小组不同学科的总分和平均分输出。以上我们介绍了C++二维数据的定义和用法如果想学习C++可以了解传智播客。

我要回帖

更多关于 二维数组a的定义 的文章

 

随机推荐