#include<stdio.h>
#define N 4
int sum=0,s[N][N];//定义全局变量,便于最后返回值的输出
int calculate(int s[N][N])
{
int i=0,j=0;
while(i<N)
//判断是否越界,由于是方正只需判断一个变量
sum+=s[i++][j++];
if(N%2==0)
//判断方阵的行列数因为奇数行列会重复计算
return 2*sum;
else
return 2*sum-1;//需要排除对角线相交的值
}
int main()
{
int i,j,a[N][N];
printf("Please input the data:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
printf("%d",calculate(a));
return 0;
}
4*4:
5*5://只需改N宏定义中N值即可