본문 바로가기
개발/C,C++,C#

[문제풀이] 알파벳 삼각형 출력

by 비트-바이트 2024. 4. 25.
반응형

#include <stdio.h>

int main() {
    int total_rows = 'z' - 'a' + 1; // a에서 z까지의 문자 수 계산

    for (int i = 0; i < total_rows; i++) {
        // 각 줄마다 왼쪽에 공백을 출력하여 우측 정렬을 수행
        for (int j = 0; j < i; j++) {
            printf(" ");
        }
        // 문자 출력
        for (char ch = 'a' + i; ch <= 'z'; ch++) {
            printf("%c", ch);
        }
        printf("\n");
    }

    return 0;
}
  1. 문자 수 계산: 'z'에서 'a'를 빼고 1을 더해서 총 층 수 (total_rows)를 계산합니다.
  2. 반복문 실행: 반복문을 총 층 수부터 시작하여 0까지 역순으로 실행합니다. 각 반복은 하나의 층을 나타냅니다.
  3. 공백 출력: 각 층마다 층 번호와 같은 수의 공백을 출력하여 문자들이 우측으로 정렬되게 합니다.
  4. 문자 출력: 각 층마다 시작 문자는 'a'에서 현재 층 번호를 더한 문자부터 'z'까지 출력합니다.
  5. 줄바꿈: 각 층의 출력을 완료한 후 줄바꿈을 수행합니다.

위 코드를 컴파일하고 실행하면, 'a'부터 시작하여 맨 아래 층에 가장 많은 문자가 출력되고, 맨 위 층으로 올라갈수록 문자가 하나씩 줄어드는 우측 정렬된 뒤집힌 직각 삼각형 형태로 출력됩니다.

반응형