作业帮 > 综合 > 作业

下面问题if(i == j || i+j == M-1) 中的i+j == M-1看不懂.谁能解释下

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 10:16:53
下面问题if(i == j || i+j == M-1) 中的i+j == M-1看不懂.谁能解释下
#include
#define M 3
main()
{
int i, j, sum;
int angs[M][M];
printf("请输入矩阵:\n");
sum = 0;
for(i = 0; i
这个程序的功能是:输入一个三阶矩阵并对两条对角线上的数字进行求和
if(i == j || i+j == M-1)中
i == j时,angs[i][j]在主对角线上
i+j == M-1时,angs[i][j]在副对角线上
再问: 嗯。我知道。i+j为什么等于M-1时就是副对角线呢。你能举个例子我理解下吗?谢谢
再答: 这属于数学知识,一个N阶矩阵,当i+j=N+1时,aij就在副对角线上 在程序里面由于数组下标从0开始,M又比实际阶大1,所以就是i+j=M-1 就此程序的三阶矩阵来说,就是i+j=2,i和j的取值只能是(0,2),(1,1),(2,0) 你看看是不是都在副对角线上?