Вывести слова, которые начинаются с буквы 'с' и содержат более 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;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
textтипаcharиpтипаchar*(указатель наchar). - Переменная
textинициализируется массивом символов (строкой) размером 256. - Ввод строки с помощью функции
fgets(). pинициализируется первым элементом строки (после разделения строки на слова).- В цикле
whileпроисходит проверка каждого слова. - Если слово начинается с буквы 'c' и содержит более 4 символов, то оно выводится на экран с помощью функции
printf(). - После каждого слова,
pинициализируется следующим словом (илиNULL, если слов больше нет). - Цикл продолжается, пока есть слова.
- Программа завершается, когда
NULLдостигается в цикле. - Возвращается 0, чтобы указать, что программа успешно завершилась.
Пример вывода:
catscatdogcats and dogsПояснение к коду:- В этом коде используется функция
strtok(), чтобы разделить входную строку на слова. - Оператор
==используется для проверки, начинается ли слово с буквы 'c', а неstrcmp(). - Функция
printf()используется для вывода слов на экран. - Код не обрабатывает исключения или ошибки.
- Код не удаляет или изменяет исходную строку.
- В этом коде не используется библиотека
stdlib.h, поэтому функцииmalloc()иfree()не используются.
- В этом коде используется функция