Вывести слова, которые начинаются с буквы 'с' и содержат более 4 символов - C (СИ)

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

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

Дана стpока символов. Пpизнак конца стpоки - символ '\n' (пеpевод стpоки). Стpока состоит из слов, pазделенных пpобелами. Вывести слова, которые начинаются с буквы 'с' и содержат более 4 символов, и количество всех слов. плюс попросили составить блок-схему, отзовитесь кому не сложно

Решение задачи: «Вывести слова, которые начинаются с буквы 'с' и содержат более 4 символов»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main()
{
    char text[256], *p;
 
    fgets(text, sizeof(text), stdin);
 
    p = strtok(text, " ");
    while (p)
    {
        if ((p[0] == 'c') && (4 < strlen(p)))
        {
            printf("%s\n", p);
        }
        p = strtok(NULL, " ");
    }
 
    return 0;
}

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

В этом коде:

  1. Объявлены две переменные: text типа char и p типа char* (указатель на char).
  2. Переменная text инициализируется массивом символов (строкой) размером 256.
  3. Ввод строки с помощью функции fgets().
  4. p инициализируется первым элементом строки (после разделения строки на слова).
  5. В цикле while происходит проверка каждого слова.
  6. Если слово начинается с буквы 'c' и содержит более 4 символов, то оно выводится на экран с помощью функции printf().
  7. После каждого слова, p инициализируется следующим словом (или NULL, если слов больше нет).
  8. Цикл продолжается, пока есть слова.
  9. Программа завершается, когда NULL достигается в цикле.
  10. Возвращается 0, чтобы указать, что программа успешно завершилась. Пример вывода: cats cat dog cats and dogs Пояснение к коду:
    • В этом коде используется функция strtok(), чтобы разделить входную строку на слова.
    • Оператор == используется для проверки, начинается ли слово с буквы 'c', а не strcmp().
    • Функция printf() используется для вывода слов на экран.
    • Код не обрабатывает исключения или ошибки.
    • Код не удаляет или изменяет исходную строку.
    • В этом коде не используется библиотека stdlib.h, поэтому функции malloc() и free() не используются.

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


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

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

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