#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 |