В строке символов определить слова, которые начинаются и заканчиваются на буквы, значения которых вводят из клавиатуры - 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;
}

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

  1. Объявлены переменные:
    • text[] - строка символов для обработки
    • t - указатель на первый символ в строке
    • r - буква, значение которой вводят из клавиатуры
    • b - буква, значение которой вводят из клавиатуры
    • z - счётчик для цикла
    • a, e, i, o, u, y - счётчики для подсчёта количества букв в строке
  2. Выполняется цикл по всем символам строки text[]:
    • Если текущий символ является 'a' или 'A', то увеличивается счётчик a.
    • Если текущий символ является 'e' или 'E', то увеличивается счётчик e.
    • Если текущий символ является 'i' или 'I', то увеличивается счётчик i.
    • Если текущий символ является 'o' или 'O', то увеличивается счётчик o.
    • Если текущий символ является 'u' или 'U', то увеличивается счётчик u.
    • Если текущий символ является 'y' или 'Y', то увеличивается счётчик y.
  3. Выводится количество каждой буквы на экран.
  4. Выполняется поиск первого слова в строке, начинающегося и заканчивающегося на заданные буквы.
  5. Это слово выводится на экран, а затем выводится его обратное слово (все символы в обратном порядке).
  6. Выполняется поиск следующего слова в строке, начинающегося и заканчивающегося на заданные буквы.
  7. Цикл продолжается, пока не будет найден конец строки или не будет найдено следующее слово, удовлетворяющее условию.
  8. Выводится новая строка.
  9. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы