A. 对角元素之和
Problem ID: 6000
Contest ID: 4270
必做题
Wrong Answer
时间限制: 1000ms
空间限制: 524288kB
题目描述
给定一个n*n的矩阵,输出它的主对角线和副对角线的和
输入格式
第一行包括一个整数n
接下来n行输出一个矩阵,矩阵中每个元素值不超过10
输出格式
输出两行,第一行是主对角线元素之和(左上~右下),第二行是副对角线元素之和。具体格式见样例输出。(右上~左下)
样例
Input 1
7 1 7 0 5 0 0 2 1 6 1 0 5 1 1 2 8 1 1 7 1 7 5 5 2 8 6 1 8 1 8 3 1 0 4 0 2 6 5 5 8 8 7 1 8 6 7 6 3 7
Output 1
s1=31 s2=28
数据范围
1 <= n <= 101<=n<=10
样例解释
样例输入中,n=7,给定的矩阵为
1 7 0 5 0 0 2
1 6 1 0 5 1 1
2 8 1 1 7 1 7
5 5 2 8 6 1 8
1 8 3 1 0 4 0
2 6 5 5 8 8 7
1 8 6 7 6 3 7
主对角线元素之和为1+6+1+8+6+4+7=31,副对角线元素之和为2+5+1+1+5+2+1=28
我的代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[10][10];
int s1=0,s2=0;
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
if(i==j){
s1+=a[i][j];
}else if(n-i==j+1){
s2+=a[i][j];
}
}
}
cout<<"s1="<<s1<<endl;
cout<<"s2="<<s2;
}