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

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

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

Ввести строку, вывести только слова, заканчивающиеся на гласную букву. Алгоритм: for-бегает по строке 1.пропустить все пробелы , пока str[i]==пробел -двигаем индекс индекс-начало слова 2.пока str[i]!=пробелу или str[i]!=\0 индекс-конец слова 3. пробежали по строке и сравниваем конец слова с гласными 3.1если гласная , то вводим

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. // char  pszCyrillicWowels[] = "АЕЁИОУЫЭЮЯаеёиоуыэюя";
  5. char  pszLatinWowels[] = "AEIOUYaeiouy";
  6.  
  7. bool IsWowel(int iProbe)
  8. {
  9.    return strchr(pszLatinWowels,iProbe) != NULL;
  10. }
  11.  
  12. int main()
  13. {    
  14.    char  pszLine[256];
  15.  
  16.    printf("Enter string: ");
  17.    gets(pszLine);
  18.  
  19.    int   ii    = 0;
  20.    int   jj    = 0;
  21.    int   iHead = -1;
  22.  
  23.    int   iLen = strlen(pszLine) + 1;
  24.    
  25.    for (ii = 0; ii < iLen; ++ii)
  26.    {
  27.       if (pszLine[ii] && (pszLine[ii] != ' ') && (iHead < 0))
  28.       {
  29.          iHead = ii;
  30.       }
  31.       else if ((!pszLine[ii] || (pszLine[ii] == ' ')) && (iHead >= 0))
  32.       {
  33.          if (IsWowel(pszLine[ii - 1]))
  34.          {
  35.             for (jj = iHead; jj < ii; ++jj)
  36.             {
  37.                putchar(pszLine[jj]);
  38.             }
  39.  
  40.             putchar('\n');
  41.          }
  42.  
  43.          iHead = -1;
  44.       }
  45.    }
  46.    
  47.    return 0;
  48. }

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

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

  1. pszCyrillicWowels[] и pszLatinWowels[] - массивы символов, содержащие гласные буквы в кириллице и латинице соответственно.
  2. IsWowel(int iProbe) - функция, проверяющая, является ли символ iProbe гласной буквой.
  3. main() - главная функция программы.
  4. pszLine[256] - строка, в которую вводится текст.
  5. iHead, ii и jj - вспомогательные переменные для работы со строкой.
  6. iLen - длина строки.
  7. Цикл for - проходится по каждому символу строки.
  8. Условные операторы if и else if - определяют условия вывода слов, заканчивающихся на гласную букву.
  9. putchar() - выводит символ на экран.
  10. return 0; - завершает работу программы. Вывод программы: Ввод строки: Абвгджзйклмнопрстуфхцчшщъыьэюяаеёиоуыэюя Вывод: Абвгджзйклмнопрст

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


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

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

8   голосов , оценка 4.125 из 5

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

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

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