c语言对角线之和题..

描述
求矩阵的两对角线上的元素之和

格式
输入格式
矩阵的行数N
和一个N*N的整数矩阵a[N]https://ask.csdn.net/N%3C=10

输出格式
所输矩阵的两对角线上的元素之和

样例
样例输入 
3
1 2 3
4 5 6
7 8 9
样例输出 
25

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

对角线的特点,一个是i==j,一个是i+j=N。再去掉重复的,即减去i==j且i+j=N的

#include <stdio.h>
int main()
{
    int a[100][100];
    int n,i,j,sum=0;
    scanf("%d",&n);
    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];
        }
    if(N%2==1)
        sum -= a[(N-1)/2][(N-1)/2];
    printf("%d",sum);
    return 0;
}