讨论 / 五八最帅!
lawrence2004 2017-09-05 22:16:23
点我顶贴 收藏 删除
#include<cstring>

#include<cstdio>

int fx[9]={0,-1,-1,-1,0,0,1,1,1};

int fy[9]={0,-1,0,1,-1,1,-1,0,1};

char st[110][110];

int a[110][110],n,m,hh;

int main()

{

hh=0;

while(1)

{

scanf("%d %d",&n,&m);

if(n==0&&m==0)return 0;

hh++;

memset(st,0,sizeof(st));

memset(a,0,sizeof(a));

for(int i=1;i<=n;i++)scanf("%s",st[i]+1);

for(int i=1;i<=n;i++)

{

for(int j=1;j<=m;j++)

{

if(st[i][j]=='*'){a[i][j]=-1;continue;}

for(int x=1;x<=8;x++)

{

int xx=i+fx[x];

int yy=j+fy[x];

if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&st[xx][yy]=='*')a[i][j]++;

}

}

}

printf("Field #%d:\n",hh);

for(int i=1;i<=n;i++)

{

for(int j=1;j<=m;j++)

{

if(a[i][j]==-1)printf("*");

else printf("%d",a[i][j]);

}

printf("\n");

}

printf("\n");

}

}

查看更多回复
提交回复