标准题解
2024-01-27 15:35:24
发布于:浙江
27阅读
0回复
0点赞
#include<bits/stdc++.h>//导入(万能)头文件。
using namespace std;//命名空间。
int main(){//主函数。
    int x,y,num,n,m,b[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};//定义各个变量或数组。
    cin>>n>>m;//输入n行,m列。
    char a[n][m];//定义数组。
    for(int i = 0;i < n;i++){
        for(int j = 0;j < m;j++){//遍历数组(2维)a。
            cin>>a[i][j];//输入。
        }
    }
    for(int i = 0;i < n;i++){
        for(int j = 0;j < m;j++){//遍历数组(2维)a。
            if(a[i][j] == '*'){//条件判断。
                cout<<"*";//执行判断成立后的代码(语句块)。
            }else{//否则。
                num = 0;//将变量num设为0,用于计数(计一点周围的雷的数量)。
                for(int p = 0;p < 8;p++){//遍历数组(2维)b。
                    x = b[p][0] + i;//锁定上、下、左、右、左上、右上、左下、右下八个方向其中一个位置的x坐标。
                    y = b[p][1] + j;//锁定上、下、左、右、左上、右上、左下、右下八个方向其中一个位置的y坐标。
                    if(a[x][y] == '*' && x >= 0 && x <= n - 1 && y >= 0 && y <= m - 1){//条件判断。
                        ++num;//num的数量加1。
                    }
                }
                cout<<num;//输出num。
            }
        }
        cout<<endl;//输出换行(\n)。
    }
    exit(0);//结束程序。
}
全部评论 5

1周前 来自 辽宁
0d
2025-07-07 来自 浙江
0d
2025-02-14 来自 浙江
0d
2025-02-14 来自 浙江
0顶
2025-02-14 来自 浙江
0







有帮助,赞一个