[土狗之路]coursera C语言进阶习题 计算矩阵边缘元素之和

来源:互联网 发布:艾德思奇竞价软件下载 编辑:程序博客网 时间:2024/04/27 19:51

前段时间考试之后就得了拖延症,今天开始继续保持更新

编程题#1:计算矩阵边缘元素之和

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。

输入

第一行为整数k,表示有k组数据。

每组数据有多行组成,表示一个矩阵:

第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以空格分隔。

接下来输入的m行数据中,每行包含n个整数,整数之间以空格作为间隔。

输出

输出对应矩阵的边缘元素和,一个一行。

样例输入

24 41 1 1 10 0 0 01 0 1 00 0 0 03 33 4 13 7 12 0 1

样例输出

515


直接贴代码:

#include<iostream>using namespace std;int main() {int t;cin >> t;for (int i = 0; i < t; i++) {int m = 0, n = 0;cin >> m >> n;int shuzu[100][100];//矩阵最大100*100int sum = 0;for (int j = 0; j < m; j++) {for (int o = 0; o < n; o++) {cin >> shuzu[j][o];//输入数组数值if (j == 0 || j == m - 1)//先算首行,末行sum += shuzu[j][o];else if(o==0||o==n-1)//else 之后再用if 找除了四个角落之外的首列,末列sum += shuzu[j][o];}}cout << sum << endl;}return 0;}


0 0