方阵对角线元素求和及计算

img

供参考:

#include<stdio.h>
int main()
{
    int a[20][20]={0},N,i,j,sum=0,cnt=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(a[i][j] != 0)
                  cnt++;
            }
        }
    }
    printf("sum = %d, count = %d",sum,cnt);
    return 0;
}


int main()
{
    int n=0;
    scanf("%d",&n);
    
    int temp=0;
    int sum=0;
    int count=0;
    for(int i=0;i<n*n;++i)
    {
        scanf("%d",&temp);
        if((n-1+i)/n + i%n == n) {
            sum+=temp;
            if(temp!=0)
                ++count;
        }
        if(i/n == i%n){
            if(n%2 && i/n==n/2)
            {
                continue;
            }
            sum+=temp;
            if(temp!=0)
                ++count;
        }
    }
    printf("sum = %d, count = %d.\n",sum,count);
    
    return 0;
}