Сделать из введенного слова палиндром - 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; }
Объяснение кода листинга программы
В этом коде:
- Подключается стандартная библиотека printf.h и scanf.h
- Определяется константа WORD_LENGTH, которая задает максимально допустимую длину вводимого слова (64 символа).
- Определяется функция get_word, которая считывает слово из стандартного ввода и сохраняет его в переменной wrd. Функция возвращает 1, если слово успешно считано, и 0 в противном случае.
- Создается пустая строка wrd длиной WORD_LENGTH.
- В цикле while программа запрашивает у пользователя ввод слова и вызывает функцию get_word для его считывания.
- Внутри цикла создается указатель p на начало строки wrd.
- В цикле while (p) программа выводит символ p и увеличивает указатель p на 1.
- После окончания внутреннего цикла, указатель p перемещается на начало строки wrd (p > wrd) и в обратном порядке выводит символы до тех пор, пока не будет достигнут конец строки.
- После окончания внешнего цикла программа завершается. Следует отметить, что данный код не обрабатывает ошибки и исключительные ситуации, такие как отсутствие ввода пользователя или ввод символов, не являющихся буквами.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д