[题目描述]
在线性代数中,矩阵的计算是一种常见运算。在程序设计中矩阵常用二维数组表示,现在,给你一个N x N的方阵,请编程计算矩阵中两条对角线上元素的和。
[输入]
有多行,第一行是一个正整数N (N<20),表示矩阵的行数和列数,后面N行每行N个整数
[输出]
一个整数,表示矩阵对角线上元素的和
[样例输入]
4
1 2 3 4
5 6 7 8
4 3 2 1
3 4 5 6
[样例输出]
32
#include <stdio.h>
#include <string.h>
#define MAX_N 20
int main()
{
int arr[MAX_N][MAX_N],n;
memset(arr,0x0,sizeof(arr));
scanf("%d",&n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
scanf("%d",&arr[i][j]);
int sum = 0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(i == j)
sum += arr[i][j];
else if(i == ((n-1)-j))
sum += arr[i][j];
}
printf("%d\n",sum);
return 0;
}
这不是高中里面的数学教程吗,