Строки: вывести на экран слова, начинающиеся с гласных букв - C (СИ)
Формулировка задачи:
Здравствуйте, помогите мне написать программу, которая при вводе с клавиатуры предложения на английском языке выводила на экран слова, начинающиеся с гласных букв. Я видел подобные программы на этом форме, но мне необходимо написать на Си.
Решение задачи: «Строки: вывести на экран слова, начинающиеся с гласных букв»
textual
Листинг программы
char A[400], A1[20][20]; int i, j, k, c; printf("vvedite stroku \n"); gets(A); k = 0; c = 0; for (i = 0; i<strlen(A); i++) { if (A[i] != ' ') { A1[k][c] = A[i]; c++; } else { A1[k][c] = '\0'; k++; c = 0; } } A1[k][c] = '\0'; k++; for (i = 0; i<k; i++) { if (A1[i][0] == 'a' || A1[i][0] == 'e' и так далее) printf("%s ", A1[i]); }
Объяснение кода листинга программы
В этом коде:
- Переменные:
A
- строка, в которую вводится текст.A1
- массив строк, в который разбивается введенная строка.i
,j
,k
,c
- переменные для работы с циклами.
- Описание алгоритма:
- Пользователю предлагается ввести строку.
- Введенная строка сохраняется в переменной
A
. - Переменная
k
инициализируется нулем, а переменнаяc
- единицей. - Происходит цикл по всем символам строки
A
. - Если текущий символ не пробел, он добавляется в соответствующую строку массива
A1
и увеличивается значение переменнойc
. - Если текущий символ - пробел, он заменяется на нулевой символ в соответствующей строке массива
A1
, увеличивается значение переменнойk
, а значение переменнойc
сбрасывается до нуля. - После прохода по всем символам строки
A
, последняя строка массиваA1
завершается нулевым символом. - Увеличивается значение переменной
k
. - Происходит цикл по всем строкам массива
A1
. - Если первая буква текущей строки - гласная, она выводится на экран с помощью функции
printf
.
- Вывод:
В результате работы программы на экран будут выведены все строки массива
A1
, начинающиеся с гласных букв.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д