백준 1152 C 언어 문제 해결 – 단어 수

이 작업은 단어 수를 세는 것입니다.
먼저 scanf 함수를 사용하여 텍스트를 수신합니다. 그런 다음 입력 문자열을 공백으로 구분하여 단어 수를 계산합니다. 이 시점에서 여러 공백이 단어를 구분하는 경우를 처리하기 위해 공백이 아닌 문자가 나타날 때마다 word_count 변수가 증가합니다.

문제를 풀면 아래와 같은 코드가 나옵니다.

#include <stdio.h>

int main() {
    char c;
    int word_count = 0;
    int is_word = 0;

    while (scanf("%c", &c) == 1) {
        if (c == ' ' || c == '\n') {
            is_word = 0;
        } else if (!is_word) {
            is_word = 1;
            word_count++;
        }
    }

    printf("%d", word_count);

    return 0;
}

위의 코드에서 scanf 함수는 단일 문자를 가져와 c 변수에 저장합니다. c가 공백 또는 개행 문자인 경우 is_word 변수는 0으로 설정되어 단어가 아님을 나타냅니다. 그리고 c가 알파벳 또는 숫자이고 is_word 변수가 0이면 word_count를 증가시키고 is_word를 1로 설정하여 새 단어가 시작되었음을 나타냅니다.

마지막으로 word_count 변수를 출력하여 단어 수를 출력합니다.

이와 같이 C 언어로 작성된 코드는 입력 문자열을 공백으로 구분하여 단어 수를 셀 수 있습니다.