**1.第10行的循环"i++"改成"j++"**
**2.第10行的"j<=n"改成"j<=m"**
~~这是两个基本问题···~~
by The_rain @ 2023-12-23 23:59:58
@[_Night_rain_](/user/593389) 你看,改成这样还有啥问题吗?(如下):
```
#include<bits/stdc++.h>
using namespace std;
int n,m,a[101][101];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(i!=1&&j!=1&&i!=n&&j!=m)
a[i][j]=round((0.0+a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1])/5);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
```
by xibaby @ 2023-12-24 00:46:36
**还有一点:你还要定义个二维数组b拷贝a数组,平均值计算用b里的数。代码如下:**
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[101][101],b[101][101];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){
cin>>a[i][j];
b[i][j]=a[i][j];
}
for(int i=2;i<n;i++)for(int j=2;j<m;j++)
a[i][j]=round((b[i][j]+b[i-1][j]+b[i+1][j]+b[i][j-1]+b[i][j+1])/5.0);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)printf("%d ",a[i][j]);
cout<<endl;
}
return 0;
}
```
by The_rain @ 2023-12-24 13:29:42
@[_Night_rain_](/user/593389) 非常感谢!(同时我也很抱歉!因为最近期末考试,现在才看到。)
by xibaby @ 2024-01-22 22:13:55
@[xibaby](/user/995569) **都一样,没关系**
by The_rain @ 2024-01-23 08:06:11