c·c++/c 프로그래밍

count words

바로이순간 2013. 5. 21. 10:31

#include <stdio.h>

int alphabetic(int c) {

  if( ('a'<=c && c<='z') || ('A'<=c && c<='Z') )

    return 1;

  else return 0;

}

int count_words(char string[]) {

  int i, looking_for_word=1, word_count=0;

  // 문자열의 끝이 올때 까지 계속 찾는다.

  for(i=0; string[i]!='\0'; ++i) {

  // 만약 string[i] 문자가 알파벳이라면

    if(alphabetic(string[i])) {

      // 처음에는 looking_for_word가 1이다.

      if(looking_for_word) {

        // word의 갯수를 1 증가 시켜준다.

        ++word_count;

        // 앞으로 연속해서 나오는 알파벳은

        // word에 속한 부분이라서 

        // looking_for_word를 0으로 해준다.

        looking_for_word=0;

      }

    }

    else

    // 만약 알파벳 이외의 문자가 나오면 다시 워드를

    // 찾기 시작한다.

      looking_for_word =1 ;

  }

  // 구해진 원드의 갯수를 반환한다.

  return word_count;

}

int main() {

  static char text1[] = {"Here we go."};

  static char text2[] = "And you will be here.";

  printf("%s -- words = %d\n", text1, count_words(text1));

  printf("%s -- words = %d\n", text2, count_words(text2));


  return 0;

}

'c·c++ > c 프로그래밍' 카테고리의 다른 글

무한자리 분수의 계산  (0) 2013.05.28
레벨오더,인오더로 부터 이진나무 만들기  (0) 2013.05.25
c/c++ 책소개  (0) 2013.05.20
이분검색  (0) 2013.05.14
pi 계산하기  (0) 2013.05.14