有没有大佬愿意看看; 为什么将
tmp=0;
放入else中就是90,而放入for中就是ac; 90代码{
#include <bits/stdc++.h>
using namespace std;
int m,n,tmp;
int main(void){
cin>>n>>m;char a[n+1][m+1];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i][j]=='*')cout <<'*';
else {
tmp=0;
if(a[i-1][j-1]=='*')tmp++;
if(a[i-1][j]=='*')tmp++;
if(a[i-1][j+1]=='*')tmp++;
if(a[i][j-1]=='*')tmp++;
if(a[i][j+1]=='*')tmp++;
if(a[i+1][j-1]=='*')tmp++;
if(a[i+1][j]=='*')tmp++;
if(a[i+1][j+1]=='*')tmp++;
cout <<tmp;
}
}
cout<<endl;
}
return 0;
}
} ac代码:
#include <bits/stdc++.h>
using namespace std;
int m,n,tmp;
int main(void){
cin>>n>>m;char a[n+1][m+1];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
tmp=0;
if(a[i][j]=='*')cout <<'*';
else {
if(a[i-1][j-1]=='*')tmp++;
if(a[i-1][j]=='*')tmp++;
if(a[i-1][j+1]=='*')tmp++;
if(a[i][j-1]=='*')tmp++;
if(a[i][j+1]=='*')tmp++;
if(a[i+1][j-1]=='*')tmp++;
if(a[i+1][j]=='*')tmp++;
if(a[i+1][j+1]=='*')tmp++;
cout <<tmp;
}
}
cout<<endl;
}
return 0;
}