输入一个n,后面跟着n*n的矩阵
计算主、辅对角线的和。
Input
输入包含多组测试用例,对于每组测试用例:
输入一个n(1 <= n <= 100),随后输入n*n的矩阵
Output
计算主、辅对角线的和。每组数据占一行。
Sample Input 1
3 1 1 1 1 1 1 1 1 1 3 1 2 3 2 2 2 5 9 0
Sample Output 1
5 11
代码:
#include"stdio.h"
int main()
{
int n,a[100][100],sum,sum1,sum2,i,j;
while(scanf("%d",&n)!=EOF) //可输入多组样例
{
sum1=0;sum2=0;sum=0; //初始化
//输入矩阵
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
//计算主对角线的和
for(i=0;i<n;i++)
{
sum1=sum1+a[i][i];
}
//计算副对角线的和
for(i=0;i<n;i++)
{
sum2=sum2+a[i][n-1-i];
}
//矩阵边为奇数时主副对角线有交叉
if(n%2!=0) /* 3*3
{ 1 2 3
sum=sum1+sum2-a[(n-1)/2][(n-1)/2]; 4 5 6
printf("%d\n",sum); 7 8 9
} 和是(1+5+9)+(3+5+7)-5=20
//矩阵边为偶数时主副对角线无交叉 */
else /* 2*2
{ 1 1
sum=sum1+sum2; 1 1
printf("%d\n",sum); 和是(1+1)+(1+1)=4
} */
}
return 0;
}