菜鸡思路:

计算每个数四面八方的*的个数

以x,y为列子

他的四面八方都是什么

(x-1,y-1) (x-1,y) (x-1,y+2)

(x,y-1) (x,y) (x,y+1)

(x+1,y-1) (x+1,y) (x+1,y+1)

显而易见 我只需要对每个数进行8次扫描即可统计*的个数,最后赋值回当前的位置nums[i][j]

 for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(nums[i][j]=='*')continue;
            
             for(int z=0;z<3;z++)
             {
                 for(int k=0;k<3;k++)
                 {
                   
                     if(nums[i-1+z][j-1+k]=='*')
                     {
                         count++;
                     }
                 }
                 
             }
            nums[i][j]=count+'0';
            count=0;
 
        } 
    }
}