Сделать из введенного слова палиндром - C (СИ)

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

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

НУжно: написать написать в си программу, которая делает из вводимого слова палиндром. Например ввели (мама) после выполнения программы печатает (мамаамам) Помогите. Заранее спасибо

Решение задачи: «Сделать из введенного слова палиндром»

textual
Листинг программы
#include <stdio.h>
 
#define WORD_LENGTH 64
#define get_word(w) ( scanf("%63[^ \t\n]%*c", (w)) == 1 )
 
int main(void) {
    char wrd[WORD_LENGTH];
    
    while ( printf("Word: ") && get_word(wrd) ) {
        char * p = wrd;
        
        while ( *p )
            printf("%c", *p++);
        while ( p > wrd )
            printf("%c", *(--p));
        printf("\n");
    }
    
    return 0;
}

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

В этом коде:

  1. Подключается стандартная библиотека printf.h и scanf.h
  2. Определяется константа WORD_LENGTH, которая задает максимально допустимую длину вводимого слова (64 символа).
  3. Определяется функция get_word, которая считывает слово из стандартного ввода и сохраняет его в переменной wrd. Функция возвращает 1, если слово успешно считано, и 0 в противном случае.
  4. Создается пустая строка wrd длиной WORD_LENGTH.
  5. В цикле while программа запрашивает у пользователя ввод слова и вызывает функцию get_word для его считывания.
  6. Внутри цикла создается указатель p на начало строки wrd.
  7. В цикле while (p) программа выводит символ p и увеличивает указатель p на 1.
  8. После окончания внутреннего цикла, указатель p перемещается на начало строки wrd (p > wrd) и в обратном порядке выводит символы до тех пор, пока не будет достигнут конец строки.
  9. После окончания внешнего цикла программа завершается. Следует отметить, что данный код не обрабатывает ошибки и исключительные ситуации, такие как отсутствие ввода пользователя или ввод символов, не являющихся буквами.

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

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