网站建设与管理专业学什么,php网站建设设计制作,门户网站团队建设,怎么做公众号小程序题目描述 扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷#xff08;称之为地雷格#xff09;#xff0c;其他格子不含地雷#xff08;称之为非地雷格#xff09;。 玩家翻开一个非地雷格时#xff0c;该格将会出现一个数字——提示周围格子中… 题目描述 扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷称之为地雷格其他格子不含地雷称之为非地雷格。 玩家翻开一个非地雷格时该格将会出现一个数字——提示周围格子中有多少个是地雷格。 现在给出n行m列的雷区中的地雷分布请计算出每个非地雷格周围的地雷格数。 注一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。 输入描述: 第一行输入两个整数n,m 分别表示雷区的行数和列数。接下来n行每行m个字符描述了雷区中的地雷分布情况。字符’*’表示相应格子是地雷格字符’?’表示相应格子是非地雷格。相邻字符之间无分隔符。1n,m100 输出描述: 输出包含n行每行m个字符描述整个雷区。用‘*’表示地雷格用周围的地雷个数表示非地雷格。相邻字符之间无分隔符 示例1 输入 3 3
*??
???
?*? 输出 *10
221
1*1 题目很容易理解就是判断字符数组元素周围*元素的个数
下面附上代码
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.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){count0;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没有合理利用
我们可以输入完进行调试看看创建的字符数组中是不是自己想要的字符