用手机网站做app,企业网站关于我们,h5网站开发环境,京东如何进行网站建设#x1f525;博客主页#x1f525;#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞#x1f44d;评论✍收藏⭐ 目录 1. 题目
2. 解析
3. 代码
4. 小结 1. 题目 小sun上课的时候非常喜欢玩扫雷。他现小sun有一个初始的雷矩阵#xff0c;他希望你帮他生成一个扫雷矩阵。 扫雷… 博客主页【 坊钰_CSDN博客 】 欢迎各位点赞评论✍收藏⭐ 目录 1. 题目
2. 解析
3. 代码
4. 小结 1. 题目 小sun上课的时候非常喜欢玩扫雷。他现小sun有一个初始的雷矩阵他希望你帮他生成一个扫雷矩阵。 扫雷矩阵的每一行每一列都是一个数字每个数字的含义是与当前位置相邻的8个方向中有多少个雷在下图中雷用*表示如果当前位置就是雷的话仍输出一个*。 比如初始的雷矩阵如下 .... ..** *.*. .*.* 对应的数字矩阵为 0122 13** *4*4 2*3* 例 输入 4 4
....
..**
*.*.
.*.*输出 0122 13** *4*4 2*3* 2. 解析 1. 由于输入的都是一些特殊字符如‘ * ’ ‘ . ’但在scanf () 函数连续输出字符时换行符‘ \n ’ 会被scanf () 函数读取故需要用 getchar () 来读取换行符 ‘ \n ’ ,更详细的可参考--getchar() 替scanf () 函数读取换行符 博客 2. 由于我们要统计雷的数量所以在初始化时要往外多一行即 3. 代码
#include stdio.hint Cheak_min(int arr[1000][1000], int i, int j)//找雷
{return (arr[i - 1][j - 1] arr[i][j - 1] arr[i 1][j - 1] arr[i - 1][j] arr[i][j] arr[i 1][j] arr[i - 1][j 1] arr[i][j 1] arr[i 1][j 1]);
}int main()
{int n 0;int m 0;int arr[1000][1000] { 0 };char ch 0;scanf(%d %d, n, m);for (int i 1; i n; i) //i1多初始化了一行{getchar();//读取换行符\nfor (int j 1; j m; j)//j1多初始化了一列{scanf(%c, ch);if (ch *) //换元的思想把雷都设为数字 1arr[i][j] 1;elsearr[i][j] 0;}}for (int i 1; i n; i){for (int j 1; j m; j){if (arr[i][j] 1)//判断printf(*);elseprintf(%d, Cheak_min(arr, i, j)); //找周围雷的个数}printf(\n);}return 0;
}
4. 小结 以上就是关于扫雷的内容了具体还需宝子们去实践如果觉得该博客对你有用的话希望一键三连点个关注不迷路谢谢支持