티스토리 뷰

728x90
반응형

https://jungol.co.kr/problem/1291

* 사용언어 : C언어, C++

 

1. 문제

구구단의 시작 범위 s, 끝 범위 e를 입력받아 출력 예시와 같이 출력

s와 e가 유효한 범위가 아닌 경우(2 이상 9 이하 정수) INPUT ERROR!를 출력하고 다시 입력받음

 

2. 풀이

앞선 구구단 1, 2, 3을 순서대로 풀었다면 어렵지 않게 풀 수 있는 문제입니다.

 

단, 앞선 문제들은 구구단 출력 시 n단을 함께 출력하지만이 문제는 n단으로 같은 줄에 출력해야 하기 때문에 i번 출력을 반복문에 바깥에 두어야 합니다.

 

자세한 풀이는 아래 코드 참고하시길 바랍니다.

 

3. 코드

#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <stdio.h>

int main() {
	int s, e;

	while (1) {
		scanf("%d %d", &s, &e);
		if (s >= 2 && s <= 9 && e >= 2 && e <= 9) break;

		printf("INPUT ERROR!\n");
	}
	
	int step = (s < e) ? 1 : -1;
	for (int i = 1; i <= 9; ++i) {
		for (int n = s; n != e + step; n += step) {
			printf("%d * %d = %2d   ", n, i, n * i);
		}
		printf("\n");
	}

	return 0;
}

 

728x90
반응형
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함