Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

화살표 별 패턴을 출력하는 C 프로그램

숫자 n이 주어졌을 때, 최대 n개의 별(*)로 구성된 화살표 모양 패턴을 출력하는 C 프로그램을 만들어 보겠습니다.

패턴 예시

입력값이 4일 때 출력되는 별 패턴은 다음과 같습니다.

화살표 별 패턴을 출력하는 C 프로그램

입력 및 출력 예제

Input: 3
Output:

화살표 별 패턴을 출력하는 C 프로그램

Input: 5
Output:

화살표 별 패턴을 출력하는 C 프로그램

이 패턴은 크게 두 부분으로 나뉩니다. 위쪽 부분에서는 별의 개수가 n개부터 1개까지 줄어들면서 앞의 공백이 하나씩 늘어나고, 아래쪽 부분에서는 반대로 별의 개수가 다시 2개부터 n개까지 늘어나며 화살표 꼬리를 완성합니다.

접근 방법

  • 정수 형태로 입력값을 받습니다.
  • 먼저 n개의 공백과 n개의 별을 출력합니다.
  • n이 1보다 클 때까지 개수를 줄여가며 출력합니다(화살표 위쪽 부분).
  • 이후 다시 n까지 개수를 늘려가며 출력합니다(화살표 아래쪽 부분).
  • 공백과 별을 점점 증가하는 순서로 출력해 마무리합니다.

알고리즘

시작
함수 int arrow(int num)
    단계 1 -> 변수 i, j 선언 및 초기화
    단계 2 -> 반복문 For i = 1, i <= num, i++
        반복문 For j = i, j < num, j++
            공백 출력
        반복문 For j = i, j <= num, j++
            "*" 출력
        줄바꿈 출력
    단계 3 -> 반복문 For i = 2, i <= num, i++
        반복문 For j = 1, j < i, j++
            공백 출력
        반복문 For j = 1, j <= i, j++
            "*" 출력
        줄바꿈 출력
함수 int main()
    단계 1 -> num = 4로 선언 및 초기화
    단계 2 -> arrow(num) 호출

C 언어 구현 예제

#include <stdio.h>
// 화살표 패턴 함수
int arrow(int num) {
    int i, j;
    // 화살표 위쪽 부분 출력
    for (i = 1; i <= num; i++) {
        // 공백 출력
        for (j = i; j < num; j++) {
            printf(" ");
        }
        // 패턴을 위한 * 출력
        for (j = i; j <= num; j++) {
            printf("*");
        }
        printf("\n");
    }
    // 화살표 아래쪽 부분 출력
    for (i = 2; i <= num; i++) {
        // 공백 출력
        for (j = 1; j < i; j++) {
            printf(" ");
        }
        // 패턴을 위한 * 출력
        for (j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
int main() {
    // 사용자로부터 값 입력받기
    int num = 4;
    // 함수 호출
    arrow(num);
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

화살표 별 패턴을 출력하는 C 프로그램