C语言二维数组的概念

编程计算5*5的矩阵中下三角元素之和。下三角元素就是主对角线以下的元素(含主对角线)。

img

思路:
1.输入:遍历行输入每一列的数据;
2.计算下三角元素和:
这里重要的是,遍历每一行,然后列呢,注意看图中下三角是从 第 i 行 的 第0列,到第 i 列,所以列的遍历是从 0 到 i;

int sum = 0;
    for(int i = 0; i < 5; i++){
        for(int j = 0; j <= i ; j++){
            sum += a[i][j];
        }
    }

代码如下:

#include <stdio.h>

int main(){
    int a[5][5]; // 5 * 5 矩阵
    
    // 遍历行输入每一列
    for(int i = 0; i < 5; i++){
        for(int j = 0; j < 5; j++){
            scanf("%d", &a[i][j]);
        }
    }
    
    // 计算 下三角元素之和
    int sum = 0;
    for(int i = 0; i < 5; i++){
        for(int j = 0; j <= i ; j++){
            sum += a[i][j];
        }
    }

    printf("下三角元素之和为:%d\n",sum);
    return 0;
}

程序输出为 220 :

img

计算器计算结果为 220:

img

#include <stdio.h>
int main()
{
    int a[5][5], i, j, sum = 0;
    for (i = 0; i < 5; i++) 
    { 
        for (j = 0; j < 5; j++)
        {
            scanf("%d",&a[i][j]);
            if(i>=j)
                sum += a[i][j];
        }
    }
    printf("%d", sum);
    return 0;
}
 

a[i][j]表示这个矩阵,i表示横排,j表示竖排,for(i;;)嵌套for(j; j<=i; ),省略了部分表达式。

供参考:

#include <stdio.h>
#define N 5
int main()
{
    int a[N][N], i, j, sum;
    for (i = 0; i < N; i++) {  //数组赋值并输出
        for (j = 0; j < N; j++) {
            a[i][j] = i * N + j;
            printf("%3d", a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    for (i = 0, sum = 0; i < N; i++) {//下三角元素之和
        for (j = 0; j <= i; j++)
            sum += a[i][j];
    }
    printf("%d", sum);
    return 0;
}

以下内容部分参考ChatGPT模型:


C语言二维数组是一个数组的数组,即一个数组中的每个元素都是一个一维数组。可以通过两个下标来访问二维数组中的元素,第一个下标表示行号,第二个下标表示列号。例如,int a[3][4]定义了一个3行4列的二维整型数组,可以通过a[row][col]来访问其中的元素。

下面是计算5*5矩阵下三角元素之和的C语言代码:

#include <stdio.h>

int main()
{
    int matrix[5][5] = {
        {1, 2, 3, 4, 5},
        {6, 7, 8, 9, 10},
        {11, 12, 13, 14, 15},
        {16, 17, 18, 19, 20},
        {21, 22, 23, 24, 25}
    };
    int sum = 0;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j <= i; j++) {
            sum += matrix[i][j];
        }
    }
    printf("下三角元素之和为:%d\n", sum);
    return 0;
}

首先定义一个5行5列的二维数组matrix,然后用两个嵌套的for循环遍历数组中的下三角元素,累加它们的值到变量sum中。最后输出下三角元素之和。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632