陪伴孩子成长学习的地方 ------ 扫码添加微信

字符数组-扫雷题延伸

 

扫雷游戏场地是一副n行,m列的字符组成的地图;

? * *
? ? *
? ? ?

这其中*表示地雷,?表示安全区域

现在要求计算每个安全区域周围的地雷数量;

周围的定义为:安全区域位置的“上”、“下”、“左”、“右”、“左上”、“右上”、“左下”、“右下”八个区域

如上个地图所示的安全区域 “?”内填入周围的地雷数量:

1 * *
1 3 *
0 1 1

一个安全区域,周围如果出现三个以上的地雷,就自动变成高危区域,以‘#’表示

1 * *
1 # *
0 1 1

高危区域的周围将全部变成禁地,以@表示,则最后整张地图将变为

@ @ @
@ # @
@ @ @

 

输入样例:

3 3
? * *
? ? *
? ? ?

输出样例

 

@ @ @
@ # @
@ @ @

 


问题分解

定义一个二维字符数组来存储雷区,再定义一个二维整数数组来存储每个位置周围地雷的个数。

输入雷区时,可以用gets逐行读入,也可以用getchar逐个读入字符。

输出字符数组时,可以用putchar逐个字符输出;

 

posted @ 2019-08-01 10:59  极光编程小助手  阅读(200)  评论(0编辑  收藏  举报