Guest User

knr 1-18

a guest
Feb 5th, 2018
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[]) {
  4.   // 게이야 상식적으로 생각을 해보자
  5.   // 글자를 받아서 스페이스, 탭이면 출력하지 않고
  6.   // 다른 글자들은 그대로 출력하면서
  7.   // 이번 라인에는 몇 글자를 출력했는지 세고있다가
  8.   // 엔터(LF)가 오면 체크를 추가적으로 해주면 되지 않겠니?
  9.  
  10.   unsigned col = 0; // 현재 라인에서 몇 글자를 출력했는지?
  11.   char ch; // 입력을 받을 곳
  12.   while ((ch = getchar()) != EOF) {
  13.     switch (ch) {
  14.     case ' ': case '\t':
  15.       // 넘어가자
  16.       break;
  17.     case '\n':
  18.       // 지금 라인에서 한 글자도 출력하지 않았다면 넘어가고
  19.       // 아니면 LF 해주고 col 초기화 해주면 되겠죠?
  20.       if (col == 0) break;
  21.       else {
  22.         putchar('\n');
  23.         col = 0;
  24.       }
  25.       break;
  26.     default:
  27.       // 다른 문자면 출력하고 col 늘려주면 되겠죠?
  28.       putchar(ch);
  29.       ++col;
  30.     }
  31.   }
  32.  
  33.   return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment