3*3矩阵对角线之和

```c
//3*3矩阵对角线之和 
  #include<stdio.h> 
  int main()        
  {                 
      int a[3][3],sum=0,i,j,num=0;
      
      for(i=0;i<=2;i++)
      {
          for(j=0;j<=2;j++) 
          {
              scanf("%d",&a[i][j]);
          }
      }
    for(i=0;i<=2;i++)
    {
        sum=sum+a[i][i];
    }


    /* for(i=2;i>=0;i--)
    {
        for(j=0;j<=2;j++)
        {
            num=num+a[i][j];
        }
    }
    printf("%d %d",sum,num);
   } */


/*.........*/这段输出另一个对角的数结果不对,还有个问题是我看其他人的代码为什么只有上一段如:
1 2 3 
4 5 6
7 8 9,都只是计算1+5+9,而不计算3+5+7



这段输出另一个对角的数结果不对
===另一个对角线的特点是i+j=2,所以是
for(int i=0;i<=2;i++)
for(int j=0;j<=2;j++)
{
if(i+j==2)
sum+=a[i][j];
}
另外计算两条对角线之和的话,还需要去掉被重复添加的a[1][1]
即最后sum -= a[1][1];

供参考:

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


//1 2 3
//4 5 6
//7 8 9
//sum = 25

占座