Найти среднее число букв в словах - C (СИ)

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

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

Помогите пожалуйста с задачкой
int srednee(char * str)
    {
   
    }
функция должна рассчитать среднее количество букв в словах предложения. Предполагается, что между словами будет хотя бы один пробел. Звучит по дурацки, я знаю.

Решение задачи: «Найти среднее число букв в словах»

textual
Листинг программы
//...
#include <string.h>
//...
int tok_count(const char* s, const char* delim)
{
   int c = 0;
   while(*s)
   {      
      if(!strchr(delim, *s))
      {
         ++c;
         do
         {
            if(*++s == '\0') 
            {
               return c; 
            }
         }
         while(!strchr(delim, *s));
      }
      else ++s;
   }
 
   return c;
}

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

В представленном коде реализована функция tok_count, которая принимает два аргумента: указатель на строку s и указатель на строку delim. Функция считает количество слов в строке s, где слово отделяется от другого слова символами из строки delim. Внутри функции создается счётчик c, который инициализируется нулём. Затем в цикле, пока символы в строке s не закончатся, происходит проверка: если текущий символ не является разделителем (т.е. его нет в строке delim), то счётчик c увеличивается на единицу. Когда текущий символ является последним символом в строке s (т.е. *s == '\0'), функция возвращает значение счётчика c. Если текущий символ является разделителем (т.е. strchr(delim, *s) возвращает ненулевой результат), то происходит переход к следующему символу в строке s с помощью ++s. Таким образом, в результате выполнения функции tok_count будет возвращено количество слов в строке s, где слово отделяется символами из строки delim.

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


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

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

14   голосов , оценка 3.786 из 5
Похожие ответы