Подсчёт слов в строке - C (СИ) (70519)

Узнай цену своей работы

Формулировка задачи:

Составьте функцию wcount, вычисляющую количество слов в строке. Слово – это подстрока, не содержащая пробелов. Слова разделяются произвольным количеством пробелов. Кроме того, строка может начинаться и заканчиваться произвольным количеством пробелов. Объявление функции должно выглядеть как
Листинг программы
  1. int wcount(char *s)
  2. {
  3. // ...
  4. }
Итоговую программу, содержащую как функцию wcount, так и функцию main, демонстрирующую работоспособность функции wcount, нужно назвать wcount.c. Строка должна считываться из стандартного потока ввода с помощью функции gets.

Решение задачи: «Подсчёт слов в строке»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define DELIM " \t\n"
  5.  
  6. int wcount(char * s) {
  7.     return ( strtok(s, DELIM) ) ? 1 + wcount(NULL) : 0;
  8. }
  9.  
  10. int main(void) {
  11.     char buf[BUFSIZ];
  12.    
  13.     while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
  14.         printf("%d word(s)\n", wcount(buf));
  15.    
  16.     return 0;
  17. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы со строками и вводом-выводом
  2. Определение строки-разделителя DELIM, которая будет использоваться для разделения слов в строке
  3. Создание функции wcount, которая принимает указатель на строку и возвращает количество слов в этой строке
  4. Внутри функции используется функция strtok для поиска первого слова в строке. Если слово найдено, то рекурсивно вызывается функция wcount с аргументом NULL для поиска оставшихся слов. Если слово не найдено, то возвращается 0.
  5. В функции main создается буфер buf для считывания строки из стандартного ввода
  6. В цикле while считывается строка из стандартного ввода, выводится количество слов в этой строке с помощью функции wcount, а затем считывается следующая строка
  7. По завершении ввода возвращается 0, что означает успешный конец работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы