题解 | #扫雷#

扫雷

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;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务