引入
矩阵运算:读入 1 个正整数 n(1≤n≤6),再读入 n 阶方阵 a,
计算该矩阵除副对角线、 最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
分析
看到矩阵运算懵了,什么东西,网上只找到答案看不懂,我有倒推一波,这里就涉及到二维数组了,这里写一个二维数组与矩阵的对应关系
二维数组可以看作一个坐标轴(方阵)
int a[3][3]; 第一3代表矩阵的横坐标,就是3排,第二个3代表坐标轴,也就是3纵
1 2 3 1的坐标就是a[0][0] 2的是[1][0] 3可以看作[2][0]
2 1 3 2可以看作[0][1]...
3 1 2
题目要求我们输入n,这个n其实 就代表几排几纵
然后输入1个矩阵
计算矩阵,他说不要最后一列和最后一行及左下角到右上角对角线值
也就是说不要 横坐标等于n-1的那一排和纵坐标等于n-1的那一纵以及横坐标和纵坐标之和不等于n-1
上面为例那个矩阵的和就是5
扩展:主对角线就是横坐标与纵坐标相等、副对角线就是横坐标与纵坐标之和不等于n-1、外围元素要么行下标i == 0 或者 i == n-1
代码
#include<stdio.h>
int main(void) {
/**
矩阵运算:读入 1 个正整数 n(1≤n≤6),再读入 n 阶方阵 a,
计算该矩阵除副对角线、 最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
*/
/**
看到矩阵运算懵了,什么东西,网上只找到答案看不懂,我有倒推一波,这里就涉及到二维数组了,这里写一个二维数组与矩阵的对应关系
二维数组可以看作一个坐标轴
int a[3][3]; 第一3代表矩阵的横坐标,就是3排,第二个3代