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

输入矩阵的阶数n(n≤10),另起一行后输入一个n×n的整数矩阵,每列数据用空格隔开,每行数据用回车分隔..
输出主对角线和副对角线的和。
Sample Input
3
1 2 3
3 2 1
9 7 8
Sample Output11 14

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

    }
    printf("%d %d",sum1,sum2);
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-06

#include "stdio.h"

int main()

{

      int a[10][10]={0};

      int n,i,j,sum1=0,sum2=0;

      scanf("%d",&n);

      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);

}

第2个回答  推荐于2018-11-11
#include "stdio.h"
int main()
{
int a[10][10]={0};
int n,i,j,sum1=0,sum2=0;
scanf("%d",&n);
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);
}
程序的主旨在for语句里面,自己多看点程序!本回答被提问者和网友采纳
相似回答