起初没有搞清楚二维数组的概念,导致题目做不了。
最后还是搞清楚了,但是进度还是落下了。
明天还要好好练。
对循环和数组这块还是有欠缺,题目也只做了一点点。
-
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
#include<bits/stdc++.h>
using namespace std;
int a[120][120];
int main()
{
int m,n,sum=0,sum1=0,j,i;
cin>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cin>>a[i][j];
sum=sum+a[i][j];//将所有数相加
}
}
for(i=2;i<=n-1;i++)
{
for(j=2;j<=m-1;j++)
{
sum1=sum1+a[i][j];//计算出非必要的数总和
}
}
if(n==1||m==1)cout<<sum;//排除特殊情况的干扰
else cout<<sum-sum1;//正常情况下的结果(由相减得到)
return 0;
}