Page 32 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 32
실습 1-6 •완성 파일 chap01/sum_for_pos.c
01 /* 1, 2, …, n의 합을 구합니다(do문에서 양의 정수만을 n 값으로 입력합니다). */
02 #include <stdio.h> 실행 결과
03
1부터 n까지의 합을 구합니다.
04 int main(void) n 값 : -6
05 { n 값 : 0
06 int i, n; n 값 : 10
07 int sum; /* 합 */ 1부터 10까지의 합은 55입니다.
08 puts("1부터 n까지의 합을 구합니다.");
09 do {
10 printf("n 값 : ");
n이 0보다 클 때까지 반복합니다.
11 scanf("%d", &n);
12 } while(n <= 0);
13 sum = 0;
14 for(i = 1; i <= n; i ++) { /* i = 1, 2, …, n */
15 sum += i; /* sum에 i를 추가 */
16 }
17 printf("1부터 %d까지의 합은 %d입니다.\n", n, sum);
18
19 return 0;
20 }
프로그램을 실행하고 n 값으로 0 이하의 값을 입력하면 다시 ‘n 값 : ’이라고 출력되며 사용자
에게 다시 입력할 것을 요구합니다. 실습 1-6은 양수만 입력받기 위해 do문으로 프로그램을
작성했습니다.
do문 while(제어식);
while문이나 for문과 달리 이 구문의 끝에는 세미콜론 ;이 붙습니다.
do문은 일단 루프 본문을 한 번 실행한 다음에 계속 반복할 것인지를 판단하는 사후 판단 반
복문입니다. while문과 마찬가지로 ( ) 안의 제어식을 평가한 값이 0이 아니면 루프 본문의 명
령문이 반복됩니다. 다음 그림 1-14는 위 프로그램에서 초록색 박스로 표시한 부분을 순서도
로 나타낸 것입니다.
32 C 알고리즘