2016-09-30 2 views
-3

numRows 및 numCols가 주어지면 극장의 모든 좌석 목록을 인쇄하십시오. 1A 또는 3E에서와 같이 행에 번호가 매겨지고 열이 글자로 표시됩니다. 마지막 자리를 포함하여 각 좌석 후에 공간을 인쇄하십시오. 예 : numRows의 = 2 NUMCOLS = 3 인쇄 : 1A 1B 1C 2A 2B 2CC에서 반복되는 문자 (A B C)

내가 무엇을 가지고 :

#include <stdio.h> 

int main(void) { 
    int numRows = 2; 
    int numCols = 3; 

    int rows = 0; 
    char cols = 'A'; 
    char var = 'A'; 

    for (rows = 1; rows<=numRows; ++rows){ 
     for (cols = 0; cols<numCols; cols++){ 
     printf("%d", rows); 
     printf("%c ", var); 

     ++var; 

     } 

    } 

    printf("\n"); 

    return 0; 
} 

그것은 인쇄 :

1A 1B 1C 2D 2E를 2 층

인쇄하고 싶습니다.

1A 1B 1C 2A 2B 2C

어떻게 A B C를 반복 할 수 있습니까? 이 A을 의미하기 때문에 당신은 var의 값을 업데이트하지 않습니다

for (rows = 1; rows<=numRows; ++rows){ 
    for (cols = 0; cols<numCols; cols++){ 
    printf("%d", rows); 
    printf("%c ", var + cols % 3); 
    } 
} 

:

+1

var에 다시 A ' –

+0

질문은 무엇으로 설정되고 있지 않습니다? 아니면 누군가가 당신의 코드를 고치기를 원합니까? – Caleb

+0

오른쪽 루프를 사용합니다. –

답변

1
가로 루프에 대한 귀하의 변경

.


여기에 방법이 더 나은 버전입니다 :이

#include <stdio.h> 

int main(void) { 
    int numRows = 2; 
    int numCols = 5; 

    for (int row = 1; row <= numRows; row++){ 
     for (int col = 0; col < numCols; col++){ 
      printf("%d%c ", row, 'A' + col); 
     } 
    } 
    printf("\n"); 
    return 0; 
} 
+0

열 개수가 3보다 큰 경우에는 작동하지 않습니다. –

+0

@ work.bin 당신이 완전히 옳았습니다. 나는 대답을 편집했습니다! –

-3
for(;;) 
{ 
char var='A'; 
for(;;) 
{ 

    } 
} 

할 것입니다!

2

매번 내부 루프를 입력하기 전에 var의 값을 재설정해야합니다.

#include <stdio.h> 

int main(void) { 
    int numRows = 2; 
    int numCols = 3; 

    int rows = 0; 
    char cols = 'A'; 
    char var; 

    for (rows = 1; rows<=numRows; ++rows){ 
     var = 'A'; /* This is the change you are looking for. */ 
     for (cols = 0; cols<numCols; cols++){ 
     printf("%d", rows); 
     printf("%c ", var); 

     ++var; 

     } 

    } 

    printf("\n"); 

    return 0; 
} 

같은 달성하는 간단한 방법 -

int numRows = 2; 
    int numCols = 3; 

    int rows; 
    char cols; 

    for (rows = 1; rows <= numRows; ++rows){ 
     for (cols = 'A'; cols < ('A' + numCols); cols++){ 
     printf("%d", rows); 
     printf("%c ", cols); 
     }  
    }