给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
输入格式:
输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。
输出格式:
在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
输入样例:
4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
输出样例:
35
代码实现:
#include<stdio.h>
int main()
{
int n,i,j,sum=0,sum1=0,sum2=0,ret;
scanf("%d", &n);
int col = n - 1;
int arr[10][10];
for (i = 0;i < n;i++)//获取数组
{
for (j = 0;j < n;j++)
{
scanf("%d", &arr[i][j]);
sum += arr[i][j];
}
}
ret = arr[0][n - 1] + arr[n - 1][n - 1] + arr[n - 1][0];
for (i = 0;i < n;i++)//最后一列
{
sum1 += arr[i][n - 1];
}
for (j = 0;j < n;j++)//最后一行
{
sum1 += arr[n-1][j];
}
for (i = 0;i < n;i++)//副对角线
{
sum1 += arr[i][col];
col--;
}
printf("%d", sum - sum1 + ret);
return 0;
}