Найти все слова, начинающиеся и кончающиеся согласными буквами - C (СИ)

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

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

Дана непустая последовательность слов (не более 30), в каждом слове не более восьми строчных латинских букв. Слова разделены запятой, за последним словом точка. Найти все слова, начинающиеся и кончающиеся согласными буквами. Очень буду благодарен за помощь в решении! Спасибо.

Решение задачи: «Найти все слова, начинающиеся и кончающиеся согласными буквами»

textual
Листинг программы
#include <string.h>
#include <ctype.h>
 
int main() {
    const char CDelim[] = " \t\n,.?!";
    //const char CAlpha[] = "BCDFGHJKLMNPQRSTVWXZ";
    const char alpha[] = "AEIOUYaeiouy";
    char text[128];
    char* str;
    fgets(text, sizeof(text), stdin);
 
    str = strtok(text, CDelim);
 
    while (str != NULL) {
        char first = str[0];
        char last = str[strlen(str) - 1];
        if (!strchr(alpha, first) && isalpha(first)
        && !strchr(alpha, last) && isalpha(last)) {
            printf("-> %s\n", str);
        }
        str = strtok(NULL, CDelim);
    }
    return 0;
}

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

В этом коде:

  1. Объявлены две константные строки: CDelim и alpha.
    • CDelim содержит символы-разделители (пробел, табуляция, перевод строки, запятая, точка, вопросительный знак, восклицательный знак).
    • alpha содержит алфавит, состоящий только из гласных букв.
  2. Объявлена переменная text типа char, которая может хранить строку длиной до 128 символов.
    • В эту переменную считывается строка из стандартного ввода (клавиатуры).
  3. В цикле while происходит обработка каждого слова из введенной строки.
    • Сначала слово разбивается на две переменные: first (первый символ слова) и last (последний символ слова).
    • Проверяется, являются ли первый и последний символы слова гласными (проверка с помощью функции isalpha и массива alpha).
    • Если оба символа не являются гласными, то слово выводится на экран.
  4. В конце программы возвращается 0, что означает успешное выполнение программы.

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


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

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

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