有没有改进的建议?必回!感谢!!!
查看原帖
有没有改进的建议?必回!感谢!!!
1340273
I_m_good楼主2024/9/1 21:52

这是我的方法,自我感觉有点复杂

#include <bits/stdc++.h>
using namespace std;
string a[103][103];
int main() {
	int n,m;
	string b;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>b;
		for(int j=0;j<m;j++)a[i][j+1]=b[j];
	}
	//完成录入 ,没有问题 
	
	
	int l=0;//累加变量 
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			l=0;
			if(a[i][j]!="*"){//判断 
				if(a[i-1][j-1]=="*")l++;
				if(a[i-1][j]=="*")l++;
				if(a[i-1][j+1]=="*")l++;
				if(a[i][j-1]=="*")l++;
				if(a[i+1][j-1]=="*")l++;
				if(a[i+1][j]=="*")l++;
				if(a[i+1][j+1]=="*")l++;
				if(a[i][j+1]=="*")l++;
				cout<<l;//输出累加结果 
			}else cout<<"*";
		}
		cout<<endl;//换行 
	}
}
2024/9/1 21:52
加载中...