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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
main()
{
    const int BUFF_LEN = 80;
    char buf[BUFF_LEN];
    
    scanf("%[^\n]", buf, BUFF_LEN);
    
    char sep[2]=" ";   
    char *istr;
    istr = strtok (buf, sep);    
     
    while (istr != NULL)
    {
        //здесь делаем проверку над выделенным словом из строки
        //пердпологаем что слова разделенны пробелом
        //на выделенное слово у нас указывает istr
        int len = strlen(istr);
        char sym = 1;
        int i = 0;
        for(; i < len / 2; ++i)
        {
            if(istr[i] != istr[len-i-1])
            {
                sym = 0;
                break;
            }
        }
        if(sym)
        {
            printf("%s\n", istr);
        }
     
        istr = strtok (NULL,sep);
    }
}

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

В этом коде:

  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
Похожие ответы