-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTimesTable2.cpp
69 lines (66 loc) · 1.86 KB
/
TimesTable2.cpp
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "TimesTable2.h"
/// <summary>
/// 문제
/// 원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.
///
/// <처리조건>
/// (1) 구간의 처음과 끝을 입력받는다.
/// (2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.
/// 즉, 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.
///
/// 입력 형식
/// 구구단의 시작 범위 s와 끝 범위 e가 주어진다. (s와 e는 2부터 9사이의 정수)
///
/// 출력 형식
/// 시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을
/// 맞추어 출력해야 한다. 식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.
///
/// 입력 예
/// 4 3
///
/// 출력 예
/// 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
///
/// http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2076&sca=20
/// </summary>
void TimesTable2::Code()
{
int s, e;
std::cin >> s >> e;
if (s < e)
{
for (int i = s; i <= e; i++)
{
for (int j = 1; j <= 9; j++)
{
std::cout << i << " * " << j << " = " << std::setw(2) << i * j << " ";
if (j % 3 == 0)
{
std::cout << '\n';
}
}
std::cout << '\n';
}
}
else
{
for (int i = s; i >= e; i--)
{
for (int j = 1; j <= 9; j++)
{
std::cout << i << " * " << j << " = " << std::setw(2) << i * j << " ";
if (j % 3 == 0)
{
std::cout << '\n';
}
}
std::cout << '\n';
}
}
}