【描述】
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
【输入】
第一行为整数k,表示有k组数据。
每组数据有多行组成,表示一个矩阵:
每组数据第一行分别为矩阵的行数m和列数n(0<m<100,0<n<100),以空格间隔。
接下来输入的m行数据中,每行包含n个整数,整数以空格间隔。
【输出】
分行输出对应矩阵的边缘元素和。
【输入示例】
2
4 4
1 1 1 1
0 0 0 0
1 0 1 0
0 0 0 0
3 3
3 4 1
3 7 1
2 0 1
【输出示例】
5
15
【C代码】
---------------
#include<stdio.h>
intmain(void) {
int a[100][100];
int k;
int i, m, n;
int row, column, sum;
scanf("%d", &k);
for(i = 0; i < k; ++i) {
scanf("%d%d", &m, &n);
for(row = 0; row < m; ++row)
for(column = 0; column < n; ++column)
scanf("%d", &a[row][column]);
sum = 0;
for(row = 0; row < m; ++row)
for(column = 0; column < n; ++column)
if(row == 0 || row == m - 1 || column == 0 || column == n - 1)
sum += *(*(a + row) + column); /* a[row][column] */
printf("%d\n", sum);
}
return 0;
}