Вывести слова строки, начинающиеся и заканчивающиеся одной и той же буквой, которые содержат три буквы К - C (СИ)
Формулировка задачи:
Помогите пожалуйста,сделал первую часть кода,на проверку начала и конца,а как объединить еще и с проверкой на К мыслей нет..Очень прошу,лабу надо сдать в ближайшее время
Решение задачи: «Вывести слова строки, начинающиеся и заканчивающиеся одной и той же буквой, которые содержат три буквы К»
textual
Листинг программы
#include <string.h>
/* считалка количества вхождений символа в строку */
size_t char_meets_count(const char * s, const char c) {
return ( ( s = strchr(s, c) ) != NULL ) ? 1 + char_meets_count(s + 1, c) : 0;
}
Объяснение кода листинга программы
В данном коде реализована функция char_meets_count, которая подсчитывает количество вхождений символа c в строку s. Алгоритм работы функции следующий:
- Если s равно NULL, то возвращаем 0. Это базовый случай, так как мы не можем найти символ в пустой строке.
- Иначе, ищем первое вхождение символа c в строку s. Функция strchr возвращает указатель на первый символ c в строке s, или NULL, если такого символа нет.
- Если нашли символ c, то вызываем рекурсивно функцию char_meets_count, передав в неё s+1 (чтобы пропустить символ c при подсчете), и c. Это нужно для подсчета всех последующих вхождений символа c в строку.
- Если не нашли символ c, то возвращаем 0. Это базовый случай для рекурсии.
- Если нашли символ c и вернулись из рекурсии, то добавляем 1 к результату.
- Возвращаем полученное количество вхождений символа c в строку s. Таким образом, в коде реализована функция для подсчета количества вхождений символа в строку. Эта функция не обрабатывает случаи, когда символа нет в строке, или когда в строке более одного символа.