티스토리 뷰

C, C++/정올

1341 : 구구단2

j0n9m1n1 2016. 6. 6. 20:22
반응형

1341 : 구구단2

제한시간: 1Sec    메모리제한: 64mb
해결횟수: 437회    시도횟수: 786회   



원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.


<처리조건>
(1) 구간의 처음과 끝을 입력받는다. 
(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다. 
     즉, 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.

 

구구단의 시작 범위 s와 끝 범위 e를 입력받는다. (s와 e는 2부터 9사이의 정수)



시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을 맞추어 출력해야 한다.
식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.


 [Copy]
4 3
 [Copy]
4 * 1 =  4   4 * 2 =  8   4 * 3 = 12
4 * 4 = 16   4 * 5 = 20   4 * 6 = 24
4 * 7 = 28   4 * 8 = 32   4 * 9 = 36

3 * 1 =  3   3 * 2 =  6   3 * 3 =  9
3 * 4 = 12   3 * 5 = 15   3 * 6 = 18
3 * 7 = 21   3 * 8 = 24   3 * 9 = 27

#include <stdio.h>
int main() {
 
 int s = 0, e = 0;
 int i = 0, j = 0;

 while (1) {

  scanf("%d %d", &s, &e);

  if (s < 2 || s > 9 || e < 2 || e > 9) {

   printf("INPUT ERROR!\n");
   continue;
  }

  else if (s < e) {
  
   for (i = s; i <= e; i++) {
    
    for (j = 1; j <= 9; j++) {

     printf("%d * %d = %2d   ", i, j, i*j);

     if (j % 3 == 0) {

      puts("");
     }

    }

    puts("");
   }

   break;
   
  }

  else if (s > e) {

   for (i = s; i >= e; i--) {

    for (j = 1; j <= 9; j++) {

     printf("%d * %d = %2d   ", i, j, i*j);

     if (j % 3 == 0) {

      puts("");
     }

    }

    puts("");
   }

   break;
   
  }
  
  else if (s == e) {

   for (i = s; i <= e; i++) {

    for (j = 1; j <= 9; j++) {

     printf("%d * %d = %2d   ", i, j, i*j);
     if (j % 3 == 0) {

      puts("");
     }

    }

    //puts("");
   }

   break;
  }
 
 }

 return 0;
}


'C, C++ > 정올' 카테고리의 다른 글

2046 : 숫자사각형4  (0) 2016.06.06
1523: 별삼각형1  (0) 2016.06.06
1692: 곱셈  (0) 2016.06.06
1291: 구구단  (0) 2016.06.06
2812 : 각 자리수의 합  (0) 2016.06.06
댓글

티스토리 방명록

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday