扫雷代码描述
原创
©著作权归作者所有:来自51CTO博客作者wx633288bd5c53e的原创作品,请联系作者获取转载授权,否则将追究法律责任
#include<stdio.h>
char str[105][105];
int main()
{
int n,m,i,j,k,t,cnt;
scanf("%d %d",&n,&m);
getchar();
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%c",&str[i][j]);
}
getchar();
}
for(i=1;i<=n;i++)//这里从 1 开始就可以避免考虑边缘的雷
{
for(j=1;j<=m;j++)
{
cnt=0;
if(str[i][j]=='*')
{
continue;
}
else
{
for(k=i-1;k<=i+1;k++)//考虑没有雷的地方周围有没有雷
{
for(t=j-1;t<=j+1;t++)
{
if(str[k][t]=='*')
{
cnt++;
}
}
}
str[i][j]=cnt+'0';
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
printf("%c",str[i][j]);
}
puts("");
}
return 0;
}