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

실습 4C-1                                                   •완성 파일 chap04/last.c
                         01  /* 원하는 개수만큼 데이터를 입력하고, 요소의 개수가 n인 배열에는 최근에 입력한 n개만 저장 */
                         02  #include <stdio.h>
                         03
                         04  define N 10           /* 저장하는 데이터의 개수 */
                         05
                         06  int main()
                         07  {
                         08    int i;
                         09    int a[N];            /* 입력한 데이터를 저장 */
                         10    int cnt = 0;        /* 입력한 데이터의 개수 */
                         11    int retry;          /* 다시 한 번? */
                         12    puts("정수를 입력하세요.");
                         13    do {
                         14      printf("%d번째 정수 : ", cnt + 1);
                         15      scanf("%d", &a[cnt++ % N]); 1
                                           &a[cnt++ % N]
                         16      printf("계속할까요?(Yes … 1 / No … 0) : ");
                         17      scanf("%d", &retry);
                         18    } while(retry == 1);
                         19    i = cnt - N;
                               i = cnt - N;
                               if(i < 0) i = 0;
                         20    if(i < 0) i = 0;
                                                                          2
                               for(; i < cnt; i++)
                         21    for(; i < cnt; i++)
                                 printf("%2d번째 정수 = %d\n", i + 1, a[i % N]);
                         22      printf("%2d번째 정수 = %d\n", i + 1, a[i % N]);
                         23
                         24    return 0;
                         25   }


                        그림 4C-1은 아래 12개의 정수를 입력하는 예입니다.


                         15, 17, 64, 57, 99, 21, 0, 23, 44, 55, 97, 85



                        그러나 배열에 남아 있는 요소는 가장 나중에 입력한 10개만 저장되고, 아래처럼 처음에 입력한 2개는
                        버려집니다.


                         15, 17, 64, 57, 99, 21, 0, 23, 44, 55, 97, 85
                         15, 17은 버립니다.








                                                                                        04•스택과 큐  161
   156   157   158   159   160   161   162   163   164   165   166