当前位置: 首页 > news >正文

[c]扫雷

题目描述

扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。

玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。

现在给出n行m列的雷区中的地雷分布,请计算出每个非地雷格周围的地雷格数。

注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。

输入描述:

第一行输入两个整数n,m ,分别表示雷区的行数和列数。接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符’*’表示相应格子是地雷格,字符’?’表示相应格子是非地雷格。相邻字符之间无分隔符。1<=n,m<=100

输出描述:

输出包含n行,每行m个字符,描述整个雷区。用‘*’表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符

示例1

输入

3 3
*??
???
?*?

输出

*10
221
1*1

题目很容易理解,就是判断字符数组元素周围*元素的个数

下面附上代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{int n, m;int count = 0;char s[100][100] = { 0 };scanf("%d %d", &n, &m);getchar();for (int i = 1; i <= n; i++){for (int k = 1; k <= m; k++){s[i][k] = getchar();}getchar();}for (int i = 1; i <= n; i++){for (int k = 1; k <= m; k++){count=0;if (s[i][k] == '*'){printf("*");}else{if (s[i - 1][k] == '*' )count++;if (s[i + 1][k] == '*')count++;if (s[i][k - 1] == '*')count++;if (s[i][k + 1] == '*')count++;if (s[i - 1][k - 1] == '*' )count++;if (s[i - 1][k + 1] == '*')count++;if (s[i + 1][k + 1] == '*')count++;if (s[i + 1][k -1] == '*')count++;printf("%d", count);}}printf("\n");;}return 0;
}

注意每输入一组需要用一次getchar,来读取输入完的回车,新手可能会遇到输入时候程序直接结束了,明明还没有输完,就打印结果了,这种情况可能就是getchar没有合理利用

我们可以输入完进行调试,看看创建的字符数组中是不是自己想要的字符

相关文章:

  • ASP.Net实现新闻添加查询(三层架构,含照片)
  • react使用useState更新数组失败
  • 关于“Python”的核心知识点整理大全44
  • 数据探查系列:如何进行有意义的探索性数据分析(EDA)
  • 『JavaScript』JavaScript事件类型详解:全面解析各类用户交互行为
  • Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷
  • mapboxgl 中热力图的实现以及给热力图点增加鼠标移上 popup 效果
  • 【云原生】Kubernetes Operator模式
  • 基于飞浆OCR的文本框box及坐标中心点检测JSON格式保存文本
  • 系列十(实战)、发送 接收批量消息(Java操作RocketMQ)
  • 图像处理-周期噪声
  • 云计算:OpenStack 配置二层物理网卡为三层桥的接口
  • 文件监控-IT安全管理软件
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之线性布局容器Row组件
  • OpenHarmony城市技术论坛武汉站:探索大模型时代的终端操作系统创新
  • 30天自制操作系统-2
  • angular组件开发
  • canvas 绘制双线技巧
  • Cumulo 的 ClojureScript 模块已经成型
  • interface和setter,getter
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript对象详解
  • MaxCompute访问TableStore(OTS) 数据
  • 关于List、List?、ListObject的区别
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端js -- this指向总结。
  • 我看到的前端
  • 线上 python http server profile 实践
  • 小试R空间处理新库sf
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (分布式缓存)Redis分片集群
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (转)memcache、redis缓存
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Framework 服务实现监控可观测性最佳实践
  • .netcore如何运行环境安装到Linux服务器
  • .Net的C#语言取月份数值对应的MonthName值
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [BT]BUUCTF刷题第8天(3.26)
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [c]扫雷
  • [hadoop读书笔记] 第十五章 sqoop1.4.6小实验 - 将mysq数据导入HBASE
  • [IE编程] 如何在IE8 下调试BHO控件/工具栏(调试Tab进程)
  • [Latex学习笔记]数学公式基本命令
  • [LOJ161] 仙人掌计数
  • [MTK]安卓8 ADB执行ota升级
  • [nginx] LEMP 架构随笔
  • [NOIP2018 PJ T4]对称二叉树