水题。
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> using namespace std; int num[110][110]; int row,col; char str; int t=0; int main() { while(scanf("%d%d",&row,&col)!=EOF) { if(row==0&&col==0) break; memset(num,0,sizeof(num)); for(int i=1;i<=row;i++) { getchar(); for(int j=1;j<=col;j++) { scanf("%c",&str); if(str=='*') { num[i][j]=-9; num[i-1][j]++; num[i-1][j-1]++; num[i-1][j+1]++; num[i][j-1]++; num[i][j+1]++; num[i+1][j-1]++; num[i+1][j]++; num[i+1][j+1]++; } } } if(t) printf("\n"); printf("Field #%d:\n",++t); for(int i=1;i<=row;i++) { for(int j=1;j<=col;j++) { if(num[i][j]>=0) printf("%d",num[i][j]); else printf("*"); } printf("\n"); } } return 0; }