m0_60901238 2021-08-14 17:59 采纳率: 81.5%
浏览 54
已结题

大炮打蚊子我的执行结果怎么是0和1呢?

img



#include <iostream>
using namespace std;
int main()
{
    int M,N,i,j,k,x,y;  
    cin>>M>>N;
    char b[20][20];//存储坐标0和#
    for(i=0;i<M;i++){
        for(j=0;j<N;j++){
            cin>>b[i][j];
        }
    }
    cin>>k;//开炮的总次数
    for(i=0;i<k;i++){
        int s=0;//打死的蚊子数目
        cin>>x>>y;//正中坐标
        if(b[x][y]=='#'){
            s++;
            b[x][y]=0;
        }
        if(x-1>=0&&x-1<M){
            if(b[x-1][y]=='#'){
                b[x-1][y]==1;
            }
            else if(b[x-1][y]==1){
                s++;
                b[x-1][y]==0;
            }
        }
        if(x+1>=0&&x+1<M){
            if(b[x+1][y]=='#'){
                b[x+1][y]==1;
            }
            else if(b[x+1][y]==1){
                s++;
                b[x+1][y]==0;
            }
        }
        if(y-1>=0&&y-1<N){
            if(b[x][y-1]=='#'){
                b[x][y-1]==1;
            }
            else if(b[x][y-1]==1){
                s++;
                b[x][y-1]==0;
            }
        }
        if(y+1>=0&&y+1<N){
            if(b[x][y+1]=='#'){
                b[x][y+1]==1;
            }
            else if(b[x][y+1]==1){
                s++;
                b[x][y+1]==0;
            }
        }
        cout<<s<<endl;
    }
        return 0;
    }

img
为什么执行出来的结果是0和1啊?求解

  • 写回答

2条回答 默认 最新

  • bekote 2021-08-14 18:25
    关注

    你在周围四个格子的判断更新里=写成==了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月14日

悬赏问题

  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal