В строке символов определить слова, которые начинаются и заканчиваются на буквы, значения которых вводят из клавиатуры - C (СИ)
Формулировка задачи:
Знаю, что никто из вас не обязан мне помогать, но все же надеюсь, что найдется добрая душа. Нужно написать такую программу на С.
В строке символов определить слова, которые начинаются и заканчиваются на буквы, значения которых вводят из клавиатуры. Напечатать их в перевернутом виде (справа налево). Определить частоту каждой гласной буквы.
Решение задачи: «В строке символов определить слова, которые начинаются и заканчиваются на буквы, значения которых вводят из клавиатуры»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { char text[]="okey lets dad fuck osly fox fol ogry opl"; char* t; char r='o',b='y'; int z; int a,e,i,o,u,y; a=0;e=0;i=0;o=0;u=0;y=0; printf("\nText: %s",text); printf("\n"); for(z=strlen(text)-1; z>=0; z--) { if(text[z] == 'a' || text[z] == 'A') {a++;} else if(text[z] == 'e' || text[z] == 'E') {e++;} else if(text[z] == 'i' || text[z] == 'I') {i++;} else if(text[z] == 'o' || text[z] == 'O') {o++;} else if(text[z] == 'u' || text[z] == 'U') {u++;} else if(text[z] == 'y' || text[z] == 'Y') {y++;} } printf("\nBukva a = %i",a); printf("\nBukva e = %i",e); printf("\nBukva i = %i",i); printf("\nBukva o = %i",o); printf("\nBukva u = %i",u); printf("\nBukva y = %i",y); printf("\n"); t=strtok(text," "); while (t != NULL) { if(t[0] == r && t[strlen(t)-1] == b) { printf("\n\nSlovo: %s",t); printf("\nSlovo naoborot: "); for(z=strlen(t)-1; z>=0; z--) { printf("%c",t[z]); } } t = strtok (NULL, " "); } printf("\n"); return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- text[] - строка символов для обработки
- t - указатель на первый символ в строке
- r - буква, значение которой вводят из клавиатуры
- b - буква, значение которой вводят из клавиатуры
- z - счётчик для цикла
- a, e, i, o, u, y - счётчики для подсчёта количества букв в строке
- Выполняется цикл по всем символам строки text[]:
- Если текущий символ является 'a' или 'A', то увеличивается счётчик a.
- Если текущий символ является 'e' или 'E', то увеличивается счётчик e.
- Если текущий символ является 'i' или 'I', то увеличивается счётчик i.
- Если текущий символ является 'o' или 'O', то увеличивается счётчик o.
- Если текущий символ является 'u' или 'U', то увеличивается счётчик u.
- Если текущий символ является 'y' или 'Y', то увеличивается счётчик y.
- Выводится количество каждой буквы на экран.
- Выполняется поиск первого слова в строке, начинающегося и заканчивающегося на заданные буквы.
- Это слово выводится на экран, а затем выводится его обратное слово (все символы в обратном порядке).
- Выполняется поиск следующего слова в строке, начинающегося и заканчивающегося на заданные буквы.
- Цикл продолжается, пока не будет найден конец строки или не будет найдено следующее слово, удовлетворяющее условию.
- Выводится новая строка.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д