【编程语言 · C语言 · 二维数组】

二维数组

二维数组是数组的数组,可以视为表。也可以将二维数组视为代表棋盘,城市街区等的网格。

二维数组声明需要给出行数和列数。

例如:

int a[2][3]; /* A 2 x 3 array */ 

嵌套花括号用于逐行初始化元素

例如:

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

也可以采用以下形式:

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

上面两个例子中第一个例子看起来更清晰。

数组还可以具有两个以上的维度。例如,a[5] [3] [4]。

【填空题】以下数组可以容纳多少个元素?

int arr[2][5];

访问二维数组

要访问二维数组的元素,需要行索引和列索引。

例如,以下语句显示元素的值,然后分配一个新值:

 

int a[2][3] = {

  {3, 2, 6},   // 第一行元素为 3, 2, 6

  {4, 5, 20}   // 第二行元素为 4, 5, 20

};

printf("Element 3 in row 2 is %d\n", a[1][2]); /* 20 */

a[1][2] = 25;   // 将第二行第三个元素的值修改为 25

printf("Element 3 in row 2 is %d\n", a[1][2]); /* 25 */

这段代码实现了以下功能:

  1. 声明一个二维整型数组 a,包含两行三列的元素。

  2. 使用花括号初始化数组 a,第一行元素为 3, 2, 6,第二行元素为 4, 5, 20。

  3. 使用 printf 函数打印数组 a 中第二行第三个元素的值,即 a[1][2],输出结果为 20。

  4. 将数组 a 中第二行第三个元素的值修改为 25,即 a[1][2] = 25

  5. 再次使用 printf 函数打印数组 a 中第二行第三个元素的值,输出结果为 25。

使用嵌套的for循环遍历二维数组:

 

int a[2][3] = {

  {3, 2, 6},   // 第一行元素为 3, 2, 6

  {4, 5, 20}   // 第二行元素为 4, 5, 20

};

int k, j;

/* display array contents */

for (k = 0; k < 2; k++) {

  for (j = 0; j < 3; j++) {

    printf(" %d", a[k][j]);   // 打印数组 a 中的元素

  }

  printf("\n");   // 换行

}

这段代码实现了以下功能:

  1. 声明一个二维整型数组 a,包含两行三列的元素。

  2. 使用花括号初始化数组 a,第一行元素为 3, 2, 6,第二行元素为 4, 5, 20。

  3. 声明整型变量 kj,用于控制循环。

  4. 使用嵌套的 for 循环遍历数组 a 中的元素。

  5. 外层循环 k 控制行数,内层循环 j 控制列数。

  6. 在循环中使用 printf 函数打印数组 a 中的元素,采用空格分隔。

  7. 内层循环结束后,使用 printf 函数打印换行符,将每一行的元素分别显示在不同行上。

  8. 外层循环继续执行,直到遍历完所有的行和列。

  9. 最终输出结果为:

3 2 6

4 5 20

表示数组 a 的内容。每个元素之间以空格分隔,每一行末尾有换行符。

【选词填空】计算和输出数组元素的总和。


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

int sum=0;
for(int k=0;k<2;k++){
  (int j=0; j<3; j++){ 
     sum+=a[][];
  }
}
printf("Sum: %d", );

for

a

sum

j

k

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟程序员__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值