```
#include <iostream>
#include <iomanip>
#include <math.h>
#include <algorithm>
using namespace std;
int main(){
int a[201][201];
int m,n;
cin>>m>>n;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
int sum = 0;
//特判m或n为1的情况
if(m==1||n==1){
if(m==1){
for(int i=1;i<=n;i++){
sum = sum+a[1][i];
}
}
if(n==1){
for(int i=1;i<=m;i++){
sum = sum+a[i][1];
}
if(m==1&&n==1){
sum = a[1][1];
}
}
}
else{
for(int i=1;i<=m;i++){//第一列数相加
sum = sum+a[i][1];
}
for(int i=1;i<=m;i++){//最后一列数相加
sum = sum+a[i][n];
}
for(int i=2;i<=n-1;i++){//第一行
sum = sum+a[1][i];
}
for(int i=2;i<=n-1;i++){//最后一行
sum = sum+a[m][i];
}
}
cout<<sum;
}
```
@[kunny67](/user/985463) 把后两个循环m-1,换n-1,算行
by Aybbl_xc @ 2024-03-05 17:20:14
@[Aybbl_xc](/user/548329) 谢谢你,自己给自己写晕了
by kunny67 @ 2024-03-05 17:25:43