簡體   English   中英

使用源代碼為蛇繪制Square字段

[英]Drawing Square field for snake using source code

我正在嘗試使用此代碼創建一個正方形字段。 但以某種方式最終以錯誤告終。 誰能幫我指出我的錯誤? 我不確定我第一次學習C時做錯了什么。這是代碼

int i,j;

const int width = 30;

const int height = 30;

int main()
{  
  for(int i = 0; i < width + 2; i++){
      printf("#");
  }

  for(int i = 0;i < height; i++){    
    for(int j = 0; j < width; j++){
      if(j == 0){  printf("#")  }
      if(j == 0){  printf(" ");  }
      if(j == width - 1){  printf("#");  }
    }
  }

  for(int i = 0; i < width + 2; i++){
    printf("#"); 
  }


  return 0;
}

您在第二個if語句中犯了錯誤。 您要在j值不為0或width-1時打印“”

if(j == 0 || j == width - 1){  
    printf("#") ;
} else {
    printf(" ");
}

在您的for循環中,您想要更多類似的東西

for (int i = 0; i < height; i++){
  for (int j = 0; j < width + 2; j++){ //Note width + 2, to match your top line
    if (j == 0){ printf("#"); } // print near border
    else if (j == (width + 1)){ printf("#"); } // print far border
    else { printf(" "); } // when it's  not a far border or near border, print an empty space
  }
  printf("\n");
}

您不必為近邊框打印“#” “”,只需打印“#”,然后為正方形內的所有空格打印“”。 最后,對於最遠端,再次打印“#”。

第二個if(j == 0)有故障。 刪除它,您將獲得所需的正方形。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM