본문 바로가기
프로그램

[C언어] 입력 받은 정수 라인만큼 삼각형 모양 정수 리스트 하기

by 오디세이99 2023. 4. 28.
728x90
반응형

(문제)

입력 n값은 변동될 수 있으며 입력값이 변동되면 출력값도 변경됩니다

 

입력 : 5

출력 예:
         1
        3 2
       4 5 6
     10 9 8 7
11 12 13 14 15

 

 

(방법)

#include <stdio.h>

int main() {
    int n, value = 1, i, j;
    
    printf("숫자를 입력하세요: ");
    scanf("%d", &n);
    
    for (i = 1; i <= n; i++) {
        // 빈 칸 출력
        for (j = 0; j < n - i; j++) {
            printf(" ");
        }

        // 숫자 출력
        if (i % 2 == 1) {
            // 홀수번째 줄은 숫자가 증가하는 순서로 출력
            for (j = 0; j < i; j++) {
                printf("%2d", value++);
                if (j < i - 1) {
                    printf(" ");
                }
            }
        } else {
            // 짝수번째 줄은 숫자가 감소하는 순서로 출력
            value += i - 1;
            for (j = 0; j < i; j++) {
                printf("%2d", value--);
                if (j < i - 1) {
                    printf(" ");
                }
            }
            value += i + 1;
        }
        printf("\n");
    }
    
    return 0;
}

728x90
반응형

댓글