Page 29 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 29

제어식을 처음 지날 때 변수 i와 sum의 값은 실습 1-4의  1  에서 설정한 1과 0입니다. 그 후

                        반복해서 실행할 때마다 변수 i의 값이 증가되어 1씩 늘어납니다. 변수 sum의 값은 ‘루프 본
                        문을 수행하는 동안의 합’이며, 변수 i의 값은 ‘다음에 더하는 값’입니다. 즉, i가 5일 때 변수
                        sum의 값은 ‘1부터 4까지의 합’인 10입니다(sum의 최종 결과값은 변수 i의 값인 5가 더해지기 전의
                        값입니다). 그리고 i 값이 n을 초과할 때 while문의 반복이 종료되므로 최종 i 값은 n이 아니라

                        n + 1입니다.


                         연습      Q6   실습 1-4에서 while문이 종료될 때 변수 i 값이 n + 1이 됨을 확인하세요(변수 i 값을 출력
                         문제     하도록 프로그램을 수정하세요).



                        for문 반복
                        하나의 변수를 사용하는 반복문은 while문보다 for문을 사용하는 것이 좋습니다. 1부터 n까

                        지 정수의 합을 for문으로 구하는 프로그램을 실습 1-5에 나타내었습니다.

                          실습 1-5                                                 •완성 파일 chap01/sum_for.c

                         01  /* 1, 2, …, n의 합을 구합니다(for문). */
                                                                                     실행 결과
                         02  #include <stdio.h>
                                                                               1부터 n까지의 합을 구합니다.
                         03                                                    n의 값 : 5
                         04  int main(void)                                    1부터 5까지의 합은 15입니다.
                         05  {
                         06     int i, n;
                         07     int sum;                           /* 합 */
                         08     puts("1부터 n까지의 합을 구합니다.");
                         09     printf("n 값 : ");
                         10     scanf("%d", &n);
                         11     sum = 0;
                         12     for(i = 1; i <= n; i ++) {            /* i = 1, 2, …, n */
                         13       sum += i;                        /* sum에 i를 더합니다. */
                         14     }
                         15     printf("1부터 %d까지의 합은 %d입니다.\n", n, sum);
                         16
                         17     return 0;
                         18  }


                        그림 1-13은 합을 구하기 위한 (초록색 박스로 표시한 부분) 순서도입니다. 육각형의 루프 범위

                        (loop limit)는 반복의 시작 지점과 종료 지점을 가리키는 기호로, 같은 이름을 가진 루프 시작





                                                                                      01•기본 알고리즘  29
   24   25   26   27   28   29   30   31   32   33   34