ghjhkniob
ghjhkniob
2020-04-21 16:45

在9*9的矩阵中随机生成10个“雷”,输出“雷”的分布矩阵(扫雷游戏的初始状态)。C语言怎么写代码?

  • c++
  • c语言

在9*9的矩阵中随机生成10个“雷”,输出“雷”的分布矩阵(扫雷游戏的初始状态)。要求“雷”的位置输出字符(ASCII码15),非“雷”的位置输出附近有多少颗“雷”,附近无雷不输出。
提示:
① 声明一个9×9的二维数组,并将每个元素初始化为0;
② 随机生成10个“雷”:可使用随机函数生成10对不重复的行列下标,将其值置为-1,之后使用循环累计每个非-1元素周围-1的个数。
③ 计算非“雷”位置附近有多少“雷”,即当数组元素不等于-1时,计算它上下左右8个数组元素中值为-1的个数。可以累加这几个数组元素是否为-1的关系表达式和逻辑表达式之和来完成。例如计算数组元素a[i][j]附近上一行的“雷”个数可以使用如下表达式:
“(i>0&&j>0&&a[i-1][j-1]==-1)+(i>0&&a[i-1][j]==-1)+(i>0&&j<8&&a[i-1][j+1]==-1)”。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答