【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 == '*')    //换元的思想,把雷都设为数字 1
				arr[i][j] = 1;
			else
				arr[i][j] = 0;
		}
	}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			if (arr[i][j] == 1)//判断
				printf("*");
			else
				printf("%d", Cheak_min(arr, i, j));  //找周围雷的个数
		}
		printf("\n");
	}
	return 0;
}

4. 小结

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

相关推荐

  1. C语言-扫雷游戏简单实现

    2024-06-08 11:36:05       17 阅读
  2. 扫雷游戏(c++题解)

    2024-06-08 11:36:05       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-08 11:36:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-08 11:36:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-08 11:36:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-08 11:36:05       18 阅读

热门阅读

  1. Docker面试整理-如何管理Docker容器的安全?

    2024-06-08 11:36:05       12 阅读
  2. 52.Fork & Join线程池

    2024-06-08 11:36:05       7 阅读
  3. Fiddler无法显示捕获到的网络流量的问题处理方法

    2024-06-08 11:36:05       12 阅读
  4. c++处理string类型的工具和常用方法总结

    2024-06-08 11:36:05       8 阅读
  5. 【python脚本】自动化办公处理excel表格

    2024-06-08 11:36:05       10 阅读
  6. AI在芯片设计中的未来

    2024-06-08 11:36:05       8 阅读
  7. mod_aws_transcribe

    2024-06-08 11:36:05       5 阅读
  8. 【大数据架构】基于流式数据的大数据架构升级

    2024-06-08 11:36:05       7 阅读