简单练习题目
#include <stdio.h>
#include <string.h>
#define MAX_NUM 102
char a[MAX_NUM][MAX_NUM];
char r[MAX_NUM][MAX_NUM];
int case_count;
void func(int m, int n)
{
int i, j;
memset((void*)r, 0, MAX_NUM*MAX_NUM);
for(i=1; i<=m; i++)
{
for(j=1; j<=n; j++)
{
if(a[i][j] == '*')
{
r[i][j] = -100;
r[i-1][j] ++;
r[i+1][j] ++;
r[i][j-1] ++;
r[i][j+1] ++;
r[i-1][j-1] ++;
r[i+1][j+1] ++;
r[i-1][j+1] ++;
r[i+1][j-1] ++;
}
}
}
for(i=1; i<=m; i++)
{
for(j=1; j<=n; j++)
{
if(r[i][j] >= 0)
printf("%d", r[i][j]);
else
printf("*");
}
printf("\n");
}
}
int main(void)
{
int m, n;
int i;
//int j;
while(1)
{
scanf("%d %d", &m, &n);
if(!m && !n)
break;
for(i=1; i<=m; i++)
scanf("%s", a[i]+1);
case_count ++;
if(case_count >= 2)
printf("\n");
printf("Field #%d:\n", case_count);
func(m, n);
}
return 0;
}