티스토리 뷰

728x90
반응형

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

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

 

1. 문제

구구단의 시작 범위와 끝 범위를 입력받고

출력 형식에 맞추어 구구단을 출력

 

2. 풀이

1) 3개 씩 한 줄에 출력하기

구구단 출력 시 i가 3의 배수이면 엔터(\n)를, 아니면 공백 3개를 출력합니다.

 

2) 오른쪽 정렬 맞추기

printf 내에서 %2d format을 사용하면 2칸을 사용하여 오른쪽 정렬하여 출력됩니다.

한 자리 숫자이면 한 칸 공백 이후에 숫자가 나오고, 두 자리 숫자이면 두 칸을 모두 사용하여 숫자가 출력됩니다.

 

그 외 풀이는 구구단 1에 작성한 내용이므로 아래 링크 및 코드로 설명 대체하겠습니다.

https://rightbellboy.tistory.com/371

 

[정올/JUNGOL] 12338번 구구단 1 (C/C++)

정보 올림피아드 12338번 구구단 1https://jungol.co.kr/problem/12338 구구단 1 · Bronze VBronze V · 133 solved users · 479 submissionsjungol.co.kr * 사용언어 : C언어, C++ 1. 문제1 이상 9 이하인 두 정수 A, B가 주어졌을 때

rightbellboy.tistory.com

 

 

3. 코드

#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <stdio.h>

void printTable(int n) {
	for (int i = 1; i <= 9; ++i) {
		printf("%d * %d = %2d", n, i, n * i);
		printf((i % 3) ? "   " : "\n");
	}
	printf("\n");
}

int main() {
	int s, e;
	scanf("%d %d", &s, &e);

	int step = (s < e) ? 1 : -1;
	for (int n = s; n != e + step; n += step) printTable(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
글 보관함