Problem H: 矩阵对角线求和

一笑奈何 提交于 2019-12-11 05:57:05

Problem H: 矩阵对角线求和

Description

输入一个n×n的整数矩阵,分别计算两个对角线的和。

Input

输入矩阵的阶数n(n≤10),另起一行后输入一个n×n的整数矩阵,每列数据用空格隔开,每行数据用回车分隔。

Output

输出主对角线和副对角线的和。

Sample Input

3
1 2 3
3 2 1
9 7 8

Sample Output

11 14

#include<stdio.h>
int main()
{
    int n,m,i,j,k,a[30][30],b[30];

    while(scanf("%d",&n)!=EOF)
    {
          int sum1=0,sum2=0;
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                  scanf("%d",&a[i][j]);
            }
        }
        for(i=0;i<n;i++)
        {
            for(j=i;j<i+1;j++)
            {
                sum1+=a[i][j];
            }


        }
                for(i=0;i<n;i++){
                    for(j=n-1-i;j>n-2-i;j--)
                        sum2+=a[i][j];
                }
                  printf("%d ",sum1);
                  printf("%d\n",sum2);


    }
    return 0;
}

另一种写法

#include<stdio.h>
int main()
{
    int n,a[10][10];
    scanf("%d",&n);
    int i,j,sum1=0,sum2=0;
    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    scanf("%d",&a[i][j]);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(i==j)
            sum1+=a[i][j];
            if(i+j==n-1)
            sum2+=a[i][j];
        }
    }
    printf("%d %d\n",sum1,sum2);
    return 0;
}

总结

1、思考清楚行与列的数学关系,以及变量之间的联系。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!