2503 - 数组练习-5
首先从键盘输入一个正整数n(代表一个方阵的阶数,即一个n行n列的二维数组),接着输入n*n个整数(代表数组元素)。然后计算并输出这个方阵的两条对角线元素之和。
题目输入
3 6 15 1 5 18 17 4 18 2
题目输出
31
输入/输出样例
题目输入
4 19 10 6 4 4 7 1 15 16 7 4 13 7 2 14 15
题目输出
64
C语言解答
#include<stdio.h> int main() { int a[100][100]; int n, i, j, b, k=0, f=0, sum; scanf("%d", &n); for(i=0; i<n; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<n; i++) { k += a[i][i]; } for(i=0,j=n-1; i<n && j>=0; i++, j--) { f += a[i][j]; } b = n/2; sum = k + f; if(n %2 != 0) { sum = sum - a[b][b]; } printf("%d", sum); return 0; }
C++解答
#include<stdio.h> int main() { int a[100][100]; int n, i, j, b, k=0, f=0, sum; scanf("%d", &n); for(i=0; i<n; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<n; i++) { k += a[i][i]; } for(i=0,j=n-1; i<n && j>=0; i++, j--) { f += a[i][j]; } b = n/2; sum = k + f; if(n %2 != 0) { sum = sum - a[b][b]; } printf("%d", sum); return 0; }