28.4 입력한 횟수대로 반복하기

이번에는 입력한 횟수대로 반복을 해보겠습니다. 다음 내용을 소스 코드 편집 창에 입력하세요.

do_while_scanf_increment.c

#define _CRT_SECURE_NO_WARNINGS    // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>

int main()
{
    int count;

    scanf("%d", &count);    // 값을 입력받음

    int i = 0;
    do // 처음 한 번은 아래 코드가 실행됨
    {
        printf("Hello, world! %d\n", i);    // Hello, world!와 i의 값을 함께 출력
        i++;                                // i를 1씩 증가시킴
    } while (i < count);                    // i가 count보다 작을 때 반복

    return 0;
}

소스를 컴파일하여 실행한 뒤 5를 입력하고 엔터 키를 누르세요.

실행 결과

5 (입력)
Hello, world! 0
Hello, world! 1
Hello, world! 2
Hello, world! 3
Hello, world! 4

scanf 함수로 입력 값을 받아서 count 변수에 저장했습니다. 그리고 do 다음에 반복할 코드와 변화식을 넣습니다. 마지막으로 while에서 조건식을 i < count와 같이 지정하여 count에 들어있는 값만큼 반복하도록 하였습니다.

이번에는 초깃값을 받은 뒤 초깃값만큼 출력해보겠습니다.

do_while_scanf_decrement.c

#define _CRT_SECURE_NO_WARNINGS    // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>

int main()
{
    int count;

    scanf("%d", &count);    // 값을 입력받음

    do    // 처음 한 번은 아래 코드가 실행됨
    {
        printf("Hello, world! %d\n", count);    // Hello, world!와 i의 값을 함께 출력
        count--;                                // count를 1씩 감소시킴
    } while (count > 0);                        // count가 0보다 클 때 반복

    return 0;
}

실행 결과

5 (입력)
Hello, world! 5
Hello, world! 4
Hello, world! 3
Hello, world! 2
Hello, world! 1

scanf 함수로 입력 값을 받아서 count 변수에 저장했습니다. 그리고 do 다음에 반복할 코드와 변화식을 넣습니다. 여기서는 i를 선언하지 않고 count를 바로 사용하므로 변화식은 count--로 지정하여 반복문이 실행될 때마다 count를 감소시킵니다. 마지막으로 while에서 조건식을 count > 0과 같이 지정하여 count에 들어있는 값만큼 반복하도록 하였습니다.