题目描述
求一个n*n的矩阵主对角线及副对角线元素的和!
分析
首先要明确什么为矩阵
由此可见,矩阵对应的为二位数组定义为a[n][n];
什么为主对角线?主对角线就是矩阵的左上角到右下角的对角线。即满足i=j;
什么为副对角线?副对角线就是矩阵的左下角到右上角的对角线。即满足i+j+1=n;
代码解析
#include <stdio.h>
int main()
{
int n,i,j,sum=0;
printf("该矩阵的阶数为:");
scanf("%d",&n);
int a[n][n];
printf("该矩阵的元素为:\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(i==j||j==n-1-i){
sum+=a[i][j];
}
}
}
printf("该矩阵的主对角线和副对角线元素的和为:%d",sum);
return 0;
}
运行结果