구구단의 결과가 다음과 같이 출력되도록 Rust로 프로그램을 작성하자.
1, | 2, | 3, | 4, | 5, | 6, | 7, | 8, | 9, |
2, | 4, | 6, | 8, | 10, | 12, | 14, | 16, | 18, |
3, | 6, | 9, | 12, | 15, | 18, | 21, | 24, | 27, |
4, | 8, | 12, | 16, | 20, | 24, | 28, | 32, | 36, |
5, | 10, | 15, | 20, | 25, | 30, | 35, | 40, | 45, |
6, | 12, | 18, | 24, | 30, | 36, | 42, | 48, | 54, |
7, | 14, | 21, | 28, | 35, | 42, | 49, | 56, | 63, |
8, | 16, | 24, | 32, | 40, | 48, | 56, | 64, | 72, |
9 | 18, | 27, | 36, | 45, | 54, | 63, | 72, | 81, |
프로그램 실행의 형태가 각 숫자가 차지하는 공간이 같은 것으로 출력이 되고 있다. 모든 수가 수를 나타내는 공간 2개, 빈공간 1개 총 3개의 공간을 사용하고 있다.
먼저 첫 행 만 출력하는 rust 프로그램 코드를 작성하면 다음과 같다.
for i in 1 .. 0 {
print!("{:3},", i);
}
여기서는 숫자 한 개를 출력한 후 줄 바꿈을 출력하지 않아야 하기 때문에 println! 매크로 대신에 print! 매크로를 사용한다. 출력 포맷은 오른쪽 정렬을 하기 위해 "{:3}"와 같이 중괄호 안에 자리 수와 정렬 형식을 표시한다.
앞의 프로그램 코드의 출력은 다음과 같다.
1, 2, 3, 4, 5, 6, 7, 8, 9,
두번째 줄은 첫번째 줄의 2배가 된 것이며 .. 최종 9배가 된 것이 출력되도록 하면 된다. 그러므로 다음과 같이 중첩 반복문을 사용하면 된다.
fn main() {
for j in 1 .. 10 {
for i in 1 .. 10 {
print!("{:3},", i*j);
}
println!("");
}
}
출력하는 값을 형식화된 형태로 출력할 수 있다. 앞 프로그램의 "{:3}"은 출력하는 값을 출력하기 위해 규정하는 자리수(width)가 된다.
정렬은 기본적으로 오른쪽 정렬이다. 왼쪽 정렬은 "{:<3}"으로 기술하고 오른쪽 정렬은 "{:>3}", 가운데 정렬은 "{:^3}"으로 규정한다.
마지막 ',' 를 출력되지 않도록 프로그램을 작성하라. 제어문을 사용하지 않고 프로그램을 작성해보기
'Rust' 카테고리의 다른 글
[Rust] Rust로 FizzBuzz 문제 풀기 (0) | 2023.11.06 |
---|---|
[Rust] 간단한 프로그램 작성하기 (0) | 2023.10.14 |
[Rust] 개발 환경 구축 (1) | 2023.10.12 |
[Rust] Let's Start (0) | 2023.10.12 |
[Rust] 간단한 프로그램 작성 (Hello World!) (0) | 2022.02.22 |