이 작업은 단어 수를 세는 것입니다.
먼저 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 언어로 작성된 코드는 입력 문자열을 공백으로 구분하여 단어 수를 셀 수 있습니다.