Ввести строку, вывести только слова, заканчивающиеся на гласную букву - 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 вводится строка, и выводятся только слова, заканчивающиеся на гласную букву. Список функций и переменных:
pszCyrillicWowels[]
иpszLatinWowels[]
- массивы символов, содержащие гласные буквы в кириллице и латинице соответственно.IsWowel(int iProbe)
- функция, проверяющая, является ли символiProbe
гласной буквой.main()
- главная функция программы.pszLine[256]
- строка, в которую вводится текст.iHead
,ii
иjj
- вспомогательные переменные для работы со строкой.iLen
- длина строки.- Цикл
for
- проходится по каждому символу строки. - Условные операторы
if
иelse if
- определяют условия вывода слов, заканчивающихся на гласную букву. putchar()
- выводит символ на экран.return 0;
- завершает работу программы. Вывод программы: Ввод строки:Абвгджзйклмнопрстуфхцчшщъыьэюяаеёиоуыэюя
Вывод:Абвгджзйклмнопрст
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д