Вывести слова, начинающиеся с гласных букв - C (СИ)
Формулировка задачи:
Помогите написать программу, вот задание:Написать программу, которая считывает английский текст и выводит на
экран слова, начинающиеся с гласных букв.
Решение задачи: «Вывести слова, начинающиеся с гласных букв»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <ctype.h> void func(char* str) { char s[] = "aeuoi"; //y -все таки буква анг алфафита char* ptr = strtok(str, " "); while(ptr) { if(strchr(s,tolower(ptr[0]))) //если первая буква ptr[0] в нижнем регистре - будет найдена в s[] = "aeuoi" .... { printf("%s\n", ptr); } ptr = strtok(NULL, " "); } } int main(void) { char buffer[100]; printf("Inter a string\n"); fgets(buffer,100,stdin); //fgets безопаснее (она считывает не больше чем указаное к-ство символов) чем gets (он ловит все подряд и если больше то ошибка. //непонятно зачем был нужен ещё один указатель func(buffer); }
Объяснение кода листинга программы
В данном коде реализована функция func
, которая принимает на вход строку и выводит все слова в этой строке, начинающиеся с гласных букв.
char s[] =
aeuoi;
- в этой строке объявлен массивs
, который содержит гласные буквы.char* ptr = strtok(str,
);
- в этой строке используется функцияstrtok
для разделения входной строки на отдельные слова.if(strchr(s,tolower(ptr[0])))
- в этой строке проверяется, является ли первая буква текущего слова гласной. Если да, то слово выводится на экран.printf(
%s\n, ptr);
- здесь выводится текущее слово.ptr = strtok(NULL,
);
- в этой строке функцияstrtok
вызывается снова, чтобы перейти к следующему слову в входной строке.int main(void)
- в этой строке объявлена функцияmain
, которая является точкой входа в программу.char buffer[100];
- в этой строке объявлен буфер, в который считывается строка, введенная пользователем.printf(
Inter a string\n);
- здесь выводится приглашение для ввода строки.fgets(buffer,100,stdin);
- в этой строке считывается строка из стандартного ввода (что пользователь ввел на своем компьютере).func(buffer);
- в этой строке вызывается функцияfunc
с введенной пользователем строкой в качестве аргумента.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д