Подсчитать количество слов в строке - C (СИ) (71077)
Формулировка задачи:
Дана строка символов, состоящая из нулей, единиц и пробелов.Группы нулей и единиц, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. подсчитать количество слов в данной строке
Решение задачи: «Подсчитать количество слов в строке»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
int wc(const char * s) {
int count = 0, inword = 0;
for ( ; *s; ++s ) {
if ( isspace(*s) )
inword = 0;
else {
if ( ! inword ) {
inword = 1;
count += 1;
}
}
}
return count;
}
int main(void) {
char buf[BUFSIZ];
while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
printf("%d word(s)\n", wc(buf));
return 0;
}
Объяснение кода листинга программы
В данном коде:
- Подключаются необходимые библиотеки
- Определяется функция wc, которая принимает строку и считает количество слов в ней
- В функции main происходит считывание строки с помощью fgets и вызов функции wc для подсчета слов
- Результат выводится на экран