Строка: Поиск количества слов в строке, которые оканчиваются и начинаются с одной и той же буквы - C (СИ)

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

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

Пожалуйста, помогите с задачей поиска количества слов в строке, которые оканчиваются и начинаются с одной и той же буквы. Как написать код именно на СИ? Просмотрены темы форума, но ничего работающего так и не найдено.

Решение задачи: «Строка: Поиск количества слов в строке, которые оканчиваются и начинаются с одной и той же буквы»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
int count_words(const char* s){
    int n = 0, k = 0;
    do {
        if(isalnum(*s))
            ++k;
        else if(k > 0){
            if(toupper(*(s - k)) == toupper(*(s - 1)))
                ++n;    
            k = 0;
        }
    } while(*s++ != '\0');
    return n;
}
 
int main(void){
    char s[] = "WOW, ADA, APL, KAZAK, Kodak.";
    printf("count: %d\n", count_words(s));
    return 0;
}

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

  1. Подключаются необходимые библиотеки для работы с файлами и обработки символов.
  2. Определяется функция count_words, которая принимает на вход указатель на строку.
  3. Внутри функции объявляются две переменные: n и k.
  4. Переменная n отвечает за подсчет слов, а переменная k используется для контроля повторяющихся букв.
  5. В цикле do-while происходит проход по каждому символу строки.
  6. Если текущий символ является буквой или цифрой, то увеличивается значение переменной k.
  7. Если текущий символ не является буквой или цифрой и значение переменной k больше 0, то проверяется совпадение верхнейcase буквы текущего символа с верхнейcase буквой предыдущего символа.
  8. Если совпадение найдено, то увеличивается значение переменной n.
  9. Значение переменной k сбрасывается в 0.
  10. После прохода по всем символам строки, функция возвращает значение переменной n.
  11. В функции main создается строка s, которая содержит тестовые данные.
  12. Вызывается функция count_words с аргументом s.
  13. Результат подсчета выводится на экран.
  14. Программа завершается без ошибок.

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


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

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

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