C语言二维数组的遍历,数据结构第二版邹岚课后答案(c语言遍历二维数组的方法)

二维数组是C语言中常用的数据结构,它可以存储多个相同类型的数据,遍历二维数组是指按照一定的顺序访问数组中的每一个元素,本文将介绍C语言中遍历二维数组的几种方法。

C语言二维数组的遍历,数据结构第二版邹岚课后答案(c语言遍历二维数组的方法)
(图片来源网络,侵删)

按行遍历

按行遍历是指从数组的第一行开始,逐行访问数组中的元素,具体方法是使用两重循环,外层循环控制行数,内层循环控制列数。

示例代码:

#include <stdio.h>
int main() {
    int arr[3][4] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            printf("%d ", arr[i][j]);
        }
        printf("
");
    }
    return 0;
}

按列遍历

按列遍历是指从数组的第一列开始,逐列访问数组中的元素,具体方法是使用两重循环,外层循环控制列数,内层循环控制行数。

示例代码:

#include <stdio.h>
int main() {
    int arr[3][4] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    for (int j = 0; j < 4; j++) {
        for (int i = 0; i < 3; i++) {
            printf("%d ", arr[i][j]);
        }
        printf("
");
    }
    return 0;
}

按对角线遍历(从左上到右下)

按对角线遍历是指从数组的左上角开始,沿对角线方向访问数组中的元素,具体方法是使用两重循环,外层循环控制行数,内层循环控制列数,需要注意的是,每次内层循环结束后,需要更新行列的值。

示例代码:

#include <stdio.h>
int main() {
    int arr[3][4] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    int row = 0, col = 0;
    int n = sizeof(arr) / sizeof(arr[0]); // 获取数组的行数和列数
    int m = sizeof(arr[0]) / sizeof(arr[0][0]); // 获取数组的行数和列数(另一种写法)
    for (row = 0; row < n; row++) {
        for (col = 0; col < m; col++) {
            if (row == col) { // 如果行数等于列数,说明在对角线上,输出该元素并更新行列值
                printf("%d ", arr[row][col]);
                row++; // 更新行值,以便下次输出下一个对角线上的元素时,能够正确地输出当前元素后面的元素(因为每条对角线上的元素个数是奇数)
                break; // 跳出内层循环,进入下一次外层循环的内层循环,继续输出下一个对角线上的元素(即当前元素的下一个元素)
            } else { // 如果行数不等于列数,说明不在对角线上,直接跳过该元素,进入下一次外层循环的内层循环,继续输出下一个元素(即当前元素的下一个元素)
                continue; // 跳过本次内层循环,进入下一次外层循环的内层循环,继续输出下一个元素(即当前元素的下一个元素)
            }
        }
    }
    return 0;
}

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/506620.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-04-23 09:30
下一篇 2024-04-23 09:32

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入