计算变长二维数组的对角线之和

题目要求:

        通过变长数组的方式,输入二维数组的行与列 (nn),并计算数组对角线之和.

解题思路:

        首先确定变长数组的行和列,利用两个for循环嵌套输入这个二维数组的每个元素.存储好数组后,可以输出一遍该二维数组方便观察验证后续的计算结果.用嵌套的两个for循环遍历该二维数组,如果遇到对角线上的元素就累加到变量count里储存.(观察二维数组n*n的对角线规律,行和列相等时为一条对角线,行和列相加等于n+1为另一条对角线.)同时要避免对角线交叉时元素的重复累加.

代码实现:

#include <stdio.h>
int main()
{
    int x,y,count=0;
    printf("请输入二维数组的行x和列y的值:");
    scanf("%d %d",&x,&y);
    int array[x][y];
    for (int i = 0; i < x; i++)
    {
        printf("请输入第%d行的%d个整数数据:",i+1,y);
        for (int j = 0; j < y; j++)
        {
            scanf("%d",&array[i][j]);   
        }   
    }
    printf("该二维数组为:\n");
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j < y; j++)
        {
            printf("%5d",array[i][j]);//输出数组元素
            if(i==j)
            {
                count = count + array[i][j];
            }
            else if (i+j==x-1)//防止重复累加
            {
                count += array[i][j];
            }   
        }
        printf("\n"); 
    }
    printf("该二维数组的对角线之和为:%d",count);  
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值