Написать программу с комментарием - C (СИ)
Формулировка задачи:
Ввести строку, вывести только слова, заканчивающиеся на гласную букву.
Решение задачи: «Написать программу с комментарием»
textual
Листинг программы
void ptrf(char *s, int n) //Функция вывода строки фиксированой длины { int i; for(i = 0; i < n;i++,++s) putchar(*s); putchar('\n'); } void gets1(char *s) { int c; while((c = getchar()) != '\n') { *s = c; *++s; } *s = '\0'; } int main() { char stroka[200]; gets1(stroka);//Считываем нужную строку char *r = stroka;//Указатель указывает на первое stroka[0] int z = 0;//Здесь будет храниться длина слова while(1) { if(*r == ' '|| *r == '\0') {//Если символ равен пробелу или знаку пунктуации switch(*(r-z)) {//Проверяем гласная ли буква case 'a': case 'e': case 'i': case 'o': case 'u': ptrf(r-z, z); break;//Выводим слово по указателю, так как z - длина слова то начало слова - r-z } if(*r == '\0') break; ++r; z = 0;//Обнуляем длину слова continue; } z++; *++r; } }
Объяснение кода листинга программы
- В функции
ptrf
происходит вывод строки фиксированной длины. - В функции
gets1
считывается строка до символа новой строки. - В функции
main
считывается строка с помощьюgets1
и сохраняется в массивеstroka
. - Указатель
r
указывает на первый символ вstroka
, а переменнаяz
инициализируется нулем и используется для хранения длины слова. - В бесконечном цикле
while(1)
проверяется, является ли текущий символ пробелом или знаком пунктуации. - Если текущий символ является пробелом или знаком пунктуации, выполняется оператор
switch
, который проверяет, является ли предыдущая буква гласной. - Если предыдущая буква является гласной, вызывается функция
ptrf
, которая выводит слово, начиная с указателяr-z
и длинойz
. - Если текущий символ является символом новой строки, цикл прерывается.
- Если текущий символ не является пробелом или знаком пунктуации, увеличивается значение
z
, указывающее на длину слова, и текущий символ добавляется в конец слова. - После каждой итерации цикла значение
z
сбрасывается в ноль, чтобы указать на новую строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д