题解 | #扫雷#
扫雷
https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd
#include<stdio.h> #include<string.h> char Jugde(char arr[1002][1002], int i, int j) { char count = '\0'; for (int a = i - 1; a <= i + 1; a++) { for (int b = j - 1; b <= j + 1; b++) { if (arr[a][b] == '*') { count++; } } } return count; } int main() { char arr[1002][1002]; int n, m; memset(arr, '.',n*m); scanf("%d %d", &n, &m); getchar(); for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { scanf("%c", &arr[i][j]); } getchar(); } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (arr[i][j] == '.') { char ret = Jugde(arr, i, j); arr[i][j] = ret; } } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (arr[i][j] == '*') { printf("*"); } else { printf("%d", arr[i][j] - '\0'); } } printf("\n"); } return 0; }