본문 바로가기

Rust

[Rust] 구구단 만들기

구구단의 결과가 다음과 같이 출력되도록 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