2016-10-26 5 views
-3

나는 C에 익숙하지 않으며 체스 판 패턴을 출력하는 프로그램을 만들고자한다. 그러나 나는 다음 단계가 어떻게 될지 이해하지 못한다. 누구든지 이걸 도와 줄 수 있니?C로 체스 판 만드는 법?

홈페이지 :

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <stdbool.h> 

int main() { 
    int length,width; 
    enum colors{Black,White}; 

    printf("Enter the length:\n"); 
    scanf("%d",length); 
    printf("Enter the width:\n"); 
    scanf("%d",width); 

    int board[length][width]; 
    createBoard(length,width); 
    for(int i =0;i< sizeof(board);i++) { 

     if(i%2==0) { 
      // To print black 
      printf("[X]"); 
     } 
     else { 
      // To print white 
      printf("[ ]"); 
     } 
    } 
} //main 

CreateBoard 기능 :

int createBoard(int len, int wid){ 
    bool b = false; 
    for (int i = 0; i < len; i++) { 
     for (int j = 0; j < wid; j++) { 
      // To alternate between black and white 
      if(b = false) { 
       board[i][j] = board[White][Black]; 
       b = false; 
      } 
      else { 
       board[i][j] = board[Black][White]; 
       b = true; 
      } 
     } 
    } 
    return board; 
} 
+0

C++보다 C++처럼 보입니다. 케어는 C + + 태그를 제거하려면? –

답변

1

는 첫째 (는 scanf를 사용하는 방법에 대해 자세히 알아보기).

int length; 

잘못된 : scanf와 ("%의 D", 길이); 수정 : scanf ("% d", & 길이);

희망이 도움이 :

#include <stdio.h> 

int main(void) 
{ 
    int length,width,i,j; 
    printf("Enter the length:\n"); 
    scanf("%d",&length); 
    printf("Enter the width:\n"); 
    scanf("%d",&width); 
    for(i=1;i<=length;i++) 
    { 
     for(j=1;j<=width;j++) 
     { 
      if((i+j)%2==0) 
       printf("[X]"); 
      else printf("[ ]"); 
     } 
     printf("\n"); 
    } 
    return 0; 
} 

참고 : 반드시 길이와 너비도 길이드립니다.