close_btn

[실습] 문제 16번 해답 및 조치사항

남광우 2013.04.19 06:50 조회 수 : 2027

16번 문제의 예상 답은 다음과 같습니다.

- 아래에서 fflush(stdin) 부분은 1학년이 알기 어려운 부분이므로

  형평성을 감안하여, 18일 실습은 2개이상이면 모두 동점 처리 됨을 알려드립니다.

 

 

// 제목 : 알파벳 2개를 입력받아 두 알파벳 사이의 알파벳들을 프린트하는 프로그램

// 예 :

//  입력 : a e

//  출력 : a b c d e

 

void main(void)
{
     char startAlpha=0, stopAlpha;
      int  increment=0;

      do
      {  
            printf("두문자를 입력:");
            scanf("%c %c", &startAlpha, &stopAlpha); 
            fflush(stdin);
            if ( (startAlpha < 'a' || startAlpha > 'z') || (stopAlpha < 'a' || stopAlpha > 'z') )
                  break;// 알파벳 아닌 문자가 들어오면 종료

            increment = ( startAlpha - stopAlpha <0 )? 1:-1;

            for(; startAlpha != stopAlpha;)
            {
                  printf(" %c ", startAlpha );
                  startAlpha = startAlpha + increment;
            } 
           printf(" %c ", startAlpha );

            printf("n");
      } while(1);
}