天天打卡一小时第十四天

发布时间 2023-06-22 12:28:27作者: 伏尔·弗朗托

天天打卡一小时第十四天

  1. 问题描述

3-4 矩阵运算

给定一个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

  1. 设计思路

思路简单,不做阐述

  1. 程序流程图

无法正常显示

  1. 代码实现

#include <stdio.h>

int main(){

int n, i, j, sum = 0;

do{

scanf("%d", &n);

}while( n > 10 || n <= 1 ); // 保证n的范围

int a[n][n];

for( i=0; i<n; i++ )

for( j=0; j<n; j++ ){

scanf(" %d", &a[i][j]);

sum += a[i][j];

}

for( i=0; i<n; i++ ){

sum -= a[i][n-1]; // 最后一列

sum -= a[n-1][i]; // 最后一行

sum -= a[i][n-i-1]; // 斜对角线

}

sum += a[0][n-1] + a[n-1][0] + a[n-1][n-1]; // 加上右上角、右下角和左下角

printf("%d\n", sum);

return 0;

}