题意
求两条对角线上所有元素之和(不重复)
解析
不写两个for循环,一边输入一边对sum进行累加,完美避免重复计算的问题,同时用三目运算符减少代码行数
标程
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
long long a[100][100];
long long sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> a[i][j];
// 三目运算符判断是否为对角线元素(主或副)
sum += (i == j || i + j == n - 1) ? a[i][j] : 0;
}
}
cout << sum << endl;
return 0;
}
后记
关联题目:
P3649-对角线之和