3553 - 矩阵统计
输入5×5阶的矩阵,编程实现:
(1)求两条对角线上的各元素之和。
(2)求两条对角线上行、列下标均为偶数的各元素之积。
Input
输入一个n (n<15)
接下来输入n行n列 一个矩阵
Output
输出结果1和结果2,空格分隔。
Examples
Input
3 1 1 1 1 1 1 1 1 1
Output
5 1
Solution C
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #define ARR_SIZE 20 int main() { // freopen("in","r",stdin); // freopen("out","w",stdout); int a[ARR_SIZE][ARR_SIZE], i, j, n, sum = 0; long product = 1; while(scanf("%d", &n)!=EOF){ sum = 0;product = 1; for (i=0; i<n; i++) { for (j=0; j<n; j++) { scanf("%d",&a[i][j]); } } for (i=0; i<n; i++) { for (j=0; j<n; j++) { if (i == j || i+j == n-1) sum += a[i][j]; if ((i == j || i+j == n-1) && i%2 == 0 && j%2 == 0) product *= a[i][j]; } } printf("%d %ld\n", sum, product); } return 0; }
Solution C++
#include<cstdio> using namespace std; int main() { int n; while (scanf("%d", &n) != EOF) { int arr[15][15]; int i, j; int sum = 0; int pro = 1; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d", &arr[i][j]); if (i + j == n - 1||i==j) { sum += arr[i][j]; if (i % 2 == 0 && j % 2 == 0) pro *= arr[i][j]; } } } printf("%d %d\n", sum, pro); } }