全部评论 5

  • #include<iostream>
    using namespace std;
    int n,m;
    char a[105][105];
    int dls(int c,int d){
    	int sum=0,x,y,c1=c-1,d1=d-1;
    	if(c1<0) c1=0;
    	if(d1<0) d1=0;
    	for(x=c1;x<=c+1&&x<n;x++){
    		for(y=d1;y<=d+1&&y<m;y++){
    			if(a[x][y]=='*'){
    				sum++;
    			}
    		}
    	}
    	return sum;
    }
    int main(){
    	cin>>n>>m;
    	for(int i=0;i<n;i++){
    		cin>>a[i];
    	}
    	for(int i=0;i<n;i++){
    		for(int j=0;j<m;j++){
    			if(a[i][j]=='?'){
    				cout<<dls(i,j);
    			}else{
    				cout<<'*';
    			}
    		}
    		cout<<endl;
    	}
    }
    

    2024-07-19 来自 浙江

    1
  • 谁叫你数组开这么大的,给我开105!(阴暗爬行

    2024-07-19 来自 广东

    0
  • 越界判断呢

    2024-07-19 来自 浙江

    0
  • char数组一次可以输入一行

    for(int i=1;i<=n;i++){
    	cin>>a[i];
    }
    
    

    2024-07-19 来自 浙江

    0
  • 1≤n≤100,1≤m≤100。

    2024-07-19 来自 浙江

    0

热门讨论