解题思路:创建一个二维数组。
注意事项:首先要注意矩阵为偶数和奇数输出的答案是不一样的,因此要分情况讨论。矩阵为偶数时,直接输出,两条对角线相加,矩阵为奇数时,两条对角线相交的那个位置的值会重复加多一次,因此要减掉那一次重复的。
参考代码:
#include<iostream>
using namespace std;
int main(){
int n=0,i,j;
int a[100][100]={0};
int sum=0,sn=0;
cin>>n;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(j=0;j<n;j++){
if(n%2==0){
if((i==j)||(i+j==n-1)){
sum+=a[i][j];
}
}else{
if(i==j){
sum+=a[i][j];
}else if((i+j==n-1)&&((i*2+1)!=n)){
sum+=a[i][j];
}
}
}
}
cout<<sum;
return 0;
}
0.0分
0 人评分