-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTimesTable1.cpp
77 lines (73 loc) · 2.02 KB
/
TimesTable1.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
70
71
72
73
74
75
76
77
#include "TimesTable1.h"
/// <summary>
/// 문제
/// 원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.
///
/// <처리조건>
/// (1) 구간의 처음과 끝을 입력받는다.
/// (2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.
/// 즉 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.
///
/// 입력 형식
/// 구구단의 시작 범위 s,와 끝 범위 e를 입력받는다.(s와 e는 2부터 9사이의 정수)
/// 하나의 결과가 출력되면 프로그램을 종료한다.
///
/// 출력 형식
/// 시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을 맞추어 출력해야 한다.
/// 구구단 사이는 3개의 공백으로 구분한다.
/// 데이터의 크기가 주어진 범위를 벗어날 경우는 "INPUT ERROR!"를 출력하고 s와 e를 다시 입력받는다.
///
/// 입력 예
/// 4 3
///
/// 출력 예
/// 4 * 1 = 4 3 * 1 = 3
/// 4 * 2 = 8 3 * 2 = 6
/// 4 * 3 = 12 3 * 3 = 9
/// 4 * 4 = 16 3 * 4 = 12
/// 4 * 5 = 20 3 * 5 = 15
/// 4 * 6 = 24 3 * 6 = 18
/// 4 * 7 = 28 3 * 7 = 21
/// 4 * 8 = 32 3 * 8 = 24
/// 4 * 9 = 36 3 * 9 = 27
///
/// http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=574&sca=20
/// </summary>
void TimesTable1::Code()
{
int s, e;
while (true)
{
std::cin >> s >> e;
if (2 <= s && s <= 9 && 2 <= e && e <= 9)
{
break;
}
else
{
std::cout << "INPUT ERROR!\n";
}
}
if (s < e)
{
for (int i = 1; i <= 9; i++)
{
for (int j = s; j <= e; j++)
{
std::cout << j << " * " << i << " = " << std::setw(2) << j * i << " ";
}
std::cout << '\n';
}
}
else
{
for (int i = 1; i <= 9; i++)
{
for (int j = s; j >= e; j--)
{
std::cout << j << " * " << i << " = " << std::setw(2) << j * i << " ";
}
std::cout << '\n';
}
}
}