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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <string.h> 
 
// char  pszCyrillicWowels[] = "АЕЁИОУЫЭЮЯаеёиоуыэюя";
char  pszLatinWowels[] = "AEIOUYaeiouy";
 
bool IsWowel(int iProbe)
{
   return strchr(pszLatinWowels,iProbe) != NULL;
}
 
int main()
{    
   char  pszLine[256];
 
   printf("Enter string: ");
   gets(pszLine);
 
   int   ii    = 0;
   int   jj    = 0;
   int   iHead = -1;
 
   int   iLen = strlen(pszLine) + 1;
   
   for (ii = 0; ii < iLen; ++ii)
   {
      if (pszLine[ii] && (pszLine[ii] != ' ') && (iHead < 0))
      {
         iHead = ii;
      }
      else if ((!pszLine[ii] || (pszLine[ii] == ' ')) && (iHead >= 0))
      {
         if (IsWowel(pszLine[ii - 1]))
         {
            for (jj = iHead; jj < ii; ++jj)
            {
               putchar(pszLine[jj]);
            }
 
            putchar('\n');
         }
 
         iHead = -1;
      }
   }
   
   return 0;
}

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

В этом коде на языке 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
Похожие ответы