关于#c语言#的问题,如何解决?

扫雷游戏

img


img


输入样例:
在这里给出一组输入。例如:

img


红线上文字是什么意思?

字如其意啊,就是输入两个数M,N,然后形成一个N行M列的由字符组成的矩阵。它这里给了样例,用这个矩阵表示哪里有地雷哪里没有。仅此而已

就是列出来一个矩形,
n表示行数
m表示每行有多少个符号(包括地雷和空白)

示例代码可以参照一下:

#include<stdio.h>
int main(void){
    int n, m;
    while(1){
        scanf("%d %d", &n, &m);
        if(n==0&&m==0) break;
        char a[n][m];
        int i, j, count;
        for(i=0; i<n; i++){
            for(j=0; j<m; j++){
                scanf(" %c", &a[i][j]);
            }
        }
        for(i=0; i<n; i++){
            for(j=0; j<m; j++){
                count = 0;
                if(a[i][j] == '*')
                    printf("*");
                else{
                    if(i-1>=0&&a[i-1][j]=='*')
                        count++;
                    if(i+1<n&&a[i+1][j]=='*')
                        count++;
                    if(j-1>=0&&a[i][j-1]=='*')
                        count++;
                    if(j+1<m&&a[i][j+1]=='*')
                        count++;
                    if(i-1>=0&&j-1>=0&&a[i-1][j-1]=='*')
                        count++;
                    if(i-1>=0&&j+1<m&&a[i-1][j+1]=='*')
                        count++;
                    if(i+1<n&&j-1>=0&&a[i+1][j-1]=='*')
                        count++;
                    if(i+1<n&&j+1<m&&a[i+1][j+1]=='*')
                        count++;
                    printf("%d", count);
                }
            }
            printf("\n");
        }
    }
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^