Ввести строку, вывести на экран только слова с симметричным расположением букв - C (СИ) (73517)

Узнай цену своей работы

Формулировка задачи:

Ввести строку, вывести на экран только слова с симметричным расположением букв.Подскажите пожалуйста как это сделать

Решение задачи: «Ввести строку, вывести на экран только слова с симметричным расположением букв»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. main()
  5. {
  6.     const int BUFF_LEN = 80;
  7.     char buf[BUFF_LEN];
  8.    
  9.     scanf("%[^\n]", buf, BUFF_LEN);
  10.    
  11.     char sep[2]=" ";  
  12.     char *istr;
  13.     istr = strtok (buf, sep);    
  14.      
  15.     while (istr != NULL)
  16.     {
  17.         //здесь делаем проверку над выделенным словом из строки
  18.         //пердпологаем что слова разделенны пробелом
  19.         //на выделенное слово у нас указывает istr
  20.         int len = strlen(istr);
  21.         char sym = 1;
  22.         int i = 0;
  23.         for(; i < len / 2; ++i)
  24.         {
  25.             if(istr[i] != istr[len-i-1])
  26.             {
  27.                 sym = 0;
  28.                 break;
  29.             }
  30.         }
  31.         if(sym)
  32.         {
  33.             printf("%s\n", istr);
  34.         }
  35.      
  36.         istr = strtok (NULL,sep);
  37.     }
  38. }

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

В этом коде:

  1. Вводится строка с помощью функции scanf.
  2. Создается пустая строка sep для разделения входной строки на слова.
  3. Используется функция strtok для разделения входной строки на слова и сохранения их в переменной istr.
  4. В цикле while происходит проверка каждого слова на наличие симметричного расположения букв.
  5. Для каждого слова выделяется память под строку с помощью функции strlen.
  6. В каждой половине слова сравниваются буквы с помощью цикла for.
  7. Если буквы не совпадают, то переменной sym присваивается значение 0 и цикл прерывается с помощью оператора break.
  8. Если все буквы совпадают, то переменной sym присваивается значение 1 и слово выводится на экран с помощью функции printf.
  9. После обработки каждого слова, функция strtok вызывается снова для поиска следующего слова в входной строке.
  10. После обработки всех слов, программа завершается.

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


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

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

15   голосов , оценка 3.867 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы