【C语言训练题库】扫雷->简单小游戏!

 🔥博客主页🔥:【 坊钰_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.h>int 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++)   //i=1,多初始化了一行{getchar();//读取换行符'\n'for (int j = 1; j <= m; j++)//j=1,多初始化了一列{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. 小结

 以上就是关于扫雷的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/24456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matplotlib常见图汇总

Matplotlib是python的一个画图库&#xff0c;便于数据可视化。 安装命令 pip install matplotlib 常用命令&#xff1a; 绘制直线&#xff0c;连接两个点 import matplotlib.pyplot as plt plt.plot([0,5],[2,4]) plt.show() 运行结果如下&#xff1a; 多条线&#xff1a;…

速盾:服务器cdn加速超时如何解决?

在当今互联网时代&#xff0c;网站内容加载速度成为用户体验的重要指标之一。然而&#xff0c;由于网络环境的复杂性和服务器的负载压力&#xff0c;服务器CDN加速超时问题经常会出现。在这篇文章中&#xff0c;我们将讨论服务器CDN加速超时的原因和解决方法。 首先&#xff0…

巨擘之舞:探索AI大模型的发展历程与特性比较

巨擘之舞&#xff1a;探索AI大模型的发展历程与特性比较 文章目录 巨擘之舞&#xff1a;探索AI大模型的发展历程与特性比较引言1. GPT系列&#xff08;Generative Pre-trained Transformer&#xff09;发展历程优点缺点 2. BERT&#xff08;Bidirectional Encoder Representati…

学习笔记——路由网络基础——汇总静态路由

4、汇总静态路由 (1)定义 静态路由汇总&#xff1a;多条静态路由都使用相同的送出接口或下一跳 IP 地址。(将多条路由汇总成一条路由表示) (2)目的 1.减少路由条目数量&#xff0c;减小路由表&#xff0c;加快查表速度 2.增加网络稳定性 (3)路由黑洞以及路由环路的产生…

京准科技 | PTP时钟服务器(卫星主时钟)在预审系统应用

京准科技 | PTP时钟服务器&#xff08;卫星主时钟&#xff09;在预审系统应用 京准科技 | PTP时钟服务器&#xff08;卫星主时钟&#xff09;在预审系统应用 某某省公安厅以科技强警建设的重要目标&#xff0c;决定建立全国第一个全省联网的信息化公安预审系统&#xff0c;本文…

LeetCode题练习与总结:三角形最小路径和--120

一、题目描述 给定一个三角形 triangle &#xff0c;找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说&#xff0c;如果正位于当前行的下标 i &…

一次改SQLMAP的操作

前言 sqlmap这个工具&#xff0c;相信各位大佬们都不陌生&#xff0c;但sqlmap虽好&#xff0c;也时常会有些实际存在但无法注入的地方&#xff0c;这时候就需要我们改它的配置了&#xff0c;今天就以本人遇到的事件进行阐述。 正文 确认注入点 通过一系列测试最终确定这里…

循环语句大揭秘:while、do-while、for、foreach你都掌握了吗?

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

招募来袭 | 与热爱技术的谷歌开发者一起创造精彩

写在前面 技术的进步在不断推动着世界发展。从 Android、Flutter 等产品的稳步更新迭代&#xff0c;到秉承着负责任的态度对 AI 进行探索&#xff0c;我们通过每一次的技术跃进&#xff0c;帮助大家打开新的视野&#xff0c;激发更多的灵感&#xff0c;将我们的工具和平台打造成…

css3 都有哪些新属性

1. css3 都有哪些新属性 1.1. 圆角边框 (border-radius)1.2. 盒子阴影 (box-shadow)1.3. 文本阴影 (text-shadow)1.4. 响应式设计相关属性1.5. 渐变背景 (gradient backgrounds)1.6. 透明度 (opacity 和 rgba/hsla)1.7. 多列布局 (column-count, column-gap, etc.)1.8. 变换 (t…

Android --- MVVM+DataBinding+Fragment+Retrofit+Adapter 简单示例

首先&#xff0c;我们将使用 Retrofit 进行网络请求&#xff0c;所以我们需要添加 Retrofit 的依赖。在你的 build.gradle 文件中添加以下依赖&#xff1a; implementation com.squareup.retrofit2:retrofit:2.9.0 implementation com.squareup.retrofit2:converter-gson:2.9.…

动态规划学习

1、背包DP 01 01 01背包&#xff1a;枚举物品然后枚举体积&#xff0c;体积从大到小枚举更新 f [ j ] m a x ( f [ j ] , f [ j − w ] v ) f[j]max(f[j],f[j-w]v) f[j]max(f[j],f[j−w]v).完全背包&#xff1a;枚举物品然后枚举体积&#xff0c;体积从小到大枚举更新 f [ j …

java(kotlin)和 python 通过DoubleCloud的kafka进行线程间通信

进入 DoubleCloud https://www.double.cloud 创建一个kafka 1 选择语言 2 运行curl 的url命令启动一个topic 3 生成对应语言的token 4 复制3中的配置文件到本地&#xff0c;命名为client.properties 5 复制客户端代码 对python和java客户端代码进行了重写&#xff0c;java改成…

websocket php workerman 服务器nginx配置wss协议

首先 Nginx的版本要高&#xff0c;尽量用当前最新稳定版本。 其次 WSS协议&#xff0c;是在HTTPS协议的基础上&#xff0c;进行协议升级&#xff0c;进行通讯的&#xff0c;所以先要保证你有一个 HTTPS正常的WEB站点。 所以&#xff0c;通过Nginx -V 请保证 一定有 --with-ht…

【TensorFlow深度学习】使用TensorFlow构建马尔可夫决策过程模型

使用TensorFlow构建马尔可夫决策过程模型 使用TensorFlow构建马尔可夫决策过程模型&#xff1a;决策分析的深度实践一、马尔可夫决策过程简介二、TensorFlow准备三、定义MDP模型参数四、构建状态值函数模型五、迭代更新值函数六、策略提取与决策结语 使用TensorFlow构建马尔可夫…

【ArcGIS微课1000例】0119:TIFF与grid格式互相转换

文章目录 一、任务描述二、tiff转grid三、grid转tif四、注意事项一、任务描述 地理栅格数据常用TIFF格式和GRID格式进行存储。TIFF格式的栅格数据常以单文件形式存储,不仅存储有R、G、B三波段的像素值,还保存有地理坐标信息。GRID格式的栅格数据常以多文件的形式进行存储,且…

国产操作系统上给麒麟虚拟机安装virtualbox增强工具 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上给麒麟虚拟机安装virtualbox增强工具 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;昨天给大家带来了一篇在国产操作系统上给VirtualBox中的Win7虚拟机安装增强工具的文章&#xff0c;今天我们将继续深入&#xff0c;介绍…

ORA-12541:TNS:没有监听器

"ORA-12541: TNS: 没有监听器" 是 Oracle 数据库连接时可能遇到的错误。这个错误通常表示客户端尝试连接到的数据库监听器未在目标主机上运行或未配置正确。解决这个问题的方法通常涉及以下步骤&#xff1a; 1.确保监听器在运行 确保数据库服务器上的 Oracle 监听器…

如何在 C# 中轻松从 HTML 中提取纯文本

一.介绍 处理 HTML 内容通常需要提取纯文本以进行处理、分析或显示&#xff0c;而不会产生 HTML 标记的杂乱。在本博客中&#xff0c;我们将探索一种简单而有效的方法&#xff0c;即使用 C# 中的正则表达式 (Regex) 来剥离 HTML 标记并将 HTML 实体解码为纯文本。此技术在读取…

ForceMode应用力的不同模式

1. ForceMode.Force 解释: 这种模式下&#xff0c;力被持续应用&#xff0c;类似于施加一个恒定的加速度。应用场景: 适用于需要不断施加力的情况&#xff0c;如推动物体。公式: F m * a&#xff08;质量*加速度&#xff09;效果: 施加的力会被乘以 Time.deltaTime&#xff0…