Определить количество слов в строке содержащих ровно два символа «С» - C (СИ)

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

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

Дана строка – предложение. Определить количество слов в строке содержащих ровно два символа «С». Символ «С» указывает пользователь. Функции библиотек stlib.h и string.h использовать запрещено.

Решение задачи: «Определить количество слов в строке содержащих ровно два символа «С»»

textual
Листинг программы
#include <stdio.h>
 
size_t  count_words(const char* s, char ch, size_t n) {
   size_t k = 0u, i = 0u;
   char c;
   do {
       c = *s & 0xDF;
       if(c >= 'A' && c <= 'Z')
            k += (*s == ch) ? 1 : 0;
       else {
            if(k == n)
                 i++;
            k = 0;
       }
   } while( *s++ );
   return i;
}
 
 
int main(void)
{  
   char str[] = "COC, [CISCO], CCCP, POL(CXCWC), COCA";
   char ch = 'C';
   printf("%u\n", count_words(str, ch, 2u));
    return 0;
}

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

  1. В функции count_words определены три переменные: k, i и c. Значение переменной k равно 0 и используется для подсчета слов, содержащих заданный символ. Значение переменной i также равно 0 и используется для подсчета количества слов, длина которых равна n. Значение переменной c используется для получения символа из строки s.
  2. В функции используется цикл do-while, который выполняется до тех пор, пока не будет достигнут конец строки.
  3. Внутри цикла проверяется, является ли текущий символ буквой. Если да, то проверяется, равен ли он заданному символу. Если да, то значение переменной k увеличивается на 1.
  4. Если текущий символ не является буквой, то проверяется значение переменной k. Если оно равно n, то значение переменной i увеличивается на 1. Затем значение переменной k сбрасывается в 0.
  5. В функции main определена строка str и символ ch, равный 'C'.
  6. В функцию count_words передаются значения str, ch и 2.
  7. Результат работы функции count_words выводится на экран с помощью функции printf.
  8. Значение 0 возвращается в конце функции main, что означает успешное завершение программы.

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


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

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

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