解题思路:
注意事项:/周围的8个格子判断
参考代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int m,n,i,j,sum,h,k;
char a[100][100];
while( scanf("%d %d",&m,&n)!=EOF)
{
sum++;
for(i=0;i<m;i++)
scanf("%s",a[i]);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[i][j]!='*')
a[i][j]='0';
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(a[i][j]!='*')//如果不是雷,才进行搜索周围8个格子
{
for(h=i-1; h<=i+1; h++)//该格的上下3行
{
for(k=j-1; k<=j+1; k++)//该格的左右3列
{
if((h>=0&&h<=n-1)&&(k>=0&&k<=m-1)&&a[h][k]=='*')
a[i][j] ++;
}
}
}
}
}
printf("Field #%d:\n",sum);
for(i=0; i<m;i++)
printf("%s\n",a[i]);
printf("\n");
memset(a,0,sizeof(a));
}
return 0;
}
0.0分
0 人评分
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:458 |
C二级辅导-进制转换 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1479 |
C二级辅导-公约公倍 (C语言代码)浏览:483 |
GC的苦恼 (C语言代码)浏览:620 |
程序员的表白 (C语言代码)浏览:592 |
敲七 (C++代码)浏览:1053 |
A+B for Input-Output Practice (I) (C语言代码)浏览:429 |
数列问题 (C语言代码)浏览:1020 |