ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C언어로 두 숫자 입력받아 사각형 모양으로 숫자를 출력
    C언어/C언어 예제 2020. 7. 10. 03:39

    Q. 일정 숫자를 입력받아 조건에 맞는 직사각형을 출력하세요

    1번 예시

    4, 5 입력시 1   5   9   13   17
    2   6  10   14   18
    3   7  11   15   19
    4   8  12   16   20
    3, 6 입력시 1   4   7  10  13  16
    2   5   8  11  14  17
    3   6   9  12  15  18

    1번 표현식

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void)
    {
      int row = 0;
      int column = 0;
      printf("가로 길이를 입력해주세요 : ");
      scanf("%d", &row); 
      // 가로 길이 입력, 사각형에서 가로줄 갯수, 가로줄 마지막 숫자를 나타내는 기준점
      printf("\n");
      printf("세로 길이를 입력해주세요 : ");
      scanf("%d", &column); // 세로 길이 입력, 사각형에서 세로줄 갯수
    
      {for (int i = 1; i <= row*column; i+=row){
      // i범위는 가로*세로, i는 row만큼 증가시켜야됨. 
      // j는 가로줄 마지막 숫자 다음 숫자로 새로운 줄에서 시작해됨.
      // i++를 하면 다음줄에서 j가 2에서 시작됨. row를 더해줘야 다음 줄에서 온전하게 시작됨
        for (int j = i; j < i+row; j++){
      // j는 i를 이어받아 마지막에 1을 더해서 i+row +1증가된 숫자로 첫 번째 숫자가 인쇄된다.
      // j의 범위는 i부터 시작했기에 i에 가로 길이를 뜻하는 row를 더해서 그 범위가 결정된다.
          printf("  %d", j);
        }
        printf("\n");
      }
    }
    }

     

    *** 위 예시에서 알 수 있는 것들 ***

    1. 2중 for문에서 상위 for문은 세로줄의 길이를 하위 for문은 가로줄의 길이를 인쇄한다.

    2. 가로와 세로 줄은 따로 노는 듯하지만 이번 예제처럼 둘이 숫자가 이어질 경우 아주 끈끈하게 연결된다.

Designed by Tistory.