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

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

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

Помогите написать программу, вот задание:Написать программу, которая считывает английский текст и выводит на экран слова, начинающиеся с гласных букв.

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  #include <ctype.h>
  4. void func(char* str)
  5. {  
  6.     char s[] = "aeuoi"; //y -все таки буква анг алфафита
  7.     char* ptr = strtok(str, " ");
  8.     while(ptr)
  9.     {
  10.             if(strchr(s,tolower(ptr[0]))) //если первая буква ptr[0] в нижнем  регистре - будет найдена в s[] = "aeuoi" ....
  11.             {
  12.                 printf("%s\n", ptr);
  13.             }
  14.           ptr = strtok(NULL, " ");
  15.     }
  16. }
  17. int main(void)
  18. {
  19.     char buffer[100];
  20.     printf("Inter a string\n");
  21.     fgets(buffer,100,stdin); //fgets безопаснее (она считывает не больше чем указаное к-ство символов) чем gets (он ловит все подряд и если больше то ошибка.
  22.     //непонятно зачем был нужен ещё один указатель
  23.     func(buffer);
  24. }

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

В данном коде реализована функция func, которая принимает на вход строку и выводит все слова в этой строке, начинающиеся с гласных букв.

  1. char s[] =aeuoi; - в этой строке объявлен массив s, который содержит гласные буквы.
  2. char* ptr = strtok(str, ); - в этой строке используется функция strtok для разделения входной строки на отдельные слова.
  3. if(strchr(s,tolower(ptr[0]))) - в этой строке проверяется, является ли первая буква текущего слова гласной. Если да, то слово выводится на экран.
  4. printf(%s\n, ptr); - здесь выводится текущее слово.
  5. ptr = strtok(NULL, ); - в этой строке функция strtok вызывается снова, чтобы перейти к следующему слову в входной строке.
  6. int main(void) - в этой строке объявлена функция main, которая является точкой входа в программу.
  7. char buffer[100]; - в этой строке объявлен буфер, в который считывается строка, введенная пользователем.
  8. printf(Inter a string\n); - здесь выводится приглашение для ввода строки.
  9. fgets(buffer,100,stdin); - в этой строке считывается строка из стандартного ввода (что пользователь ввел на своем компьютере).
  10. func(buffer); - в этой строке вызывается функция func с введенной пользователем строкой в качестве аргумента.

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


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

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

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы