题解 | #扫雷#

扫雷

https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd

#include <stdio.h>

int main() {
    int n,m;
    int i,j;
    scanf("%d%d",&n,&m);
    getchar();//吃掉回车键
    char arr[n+2][m+2];
    for(i=0;i<n+2;i++)
    {
        for(j=0;j<m+2;j++)
        {
            arr[i][j]='0';
        }
    }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            scanf("%c",&arr[i][j]);
        }
        getchar();
    }
      for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            if(arr[i][j]=='*')//如果是*,继续
            {
                continue;
            }
            else
            {
                int sum = 0;//判断8个位置是否有*
                if (arr[i - 1][j] == '*') sum++;
                if (arr[i - 1][j - 1] == '*') sum++;
                if (arr[i][j - 1] == '*')sum++;
                if (arr[i + 1][j - 1] == '*') sum++;
                if (arr[i + 1][j] == '*') sum++;
                if (arr[i + 1][j + 1] == '*') sum++;
                if (arr[i][j + 1] == '*') sum++;
                if (arr[i - 1][j + 1] == '*') sum++;
                arr[i][j] = sum+ 48;
            }
        }
    }
    for(i=1;i<=n;i++)//输出
    {
        for(j=1;j<=m;j++)
        {
            printf("%c",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

#菜狗的解题#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务