这题WA哪错了

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;
}
1 个赞