这题我是用加边写的,可以看看
查看原帖
这题我是用加边写的,可以看看
592389
likebuhuicoding楼主2022/3/1 19:29
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
   int n,m,j=1;
   cin>>n>>m;
   getchar();
   char a[n+2][m+2],ch;
   for(int i=0;i<=n+1;i++)
    for(int j=0;j<=m+1;j++)
        a[i][j]='\0';
   for(int i=1;i<=n;i++)
   {
       while((ch=getchar())!='\n')
   {
       if(ch=='*')
       a[i][j]=1;
       j++;
   }
       j=1;
   }
   for(int i=1;i<=n;i++)
   {
    for(int j=1;j<=m;j++)
   {
       if(a[i][j]==1)
       cout<<'*';
       else
       cout<<a[i-1][j-1]+a[i-1][j]+a[i-1][j+1]+a[i][j-1]+a[i][j+1]+a[i+1][j-1]+a[i+1][j]+a[i+1][j+1];
   }
   if(i!=n)
    cout<<endl;
   }
   return 0;
}
//1:在中间 2:在四边
//加边(哇真的c)使得2情况变成1

2022/3/1 19:29
加载中...