Проверить, является ли слово палиндромом - C (СИ)
Формулировка задачи:
3.
Палиндром Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом. Выведите YES или NO. При решении этой задачи нельзя пользоваться циклами, в решениях на питоне нельзя использовать срезы с шагом, отличным от 1. Ввод Вывод radar YES yes NOРешение задачи: «Проверить, является ли слово палиндромом»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *str = (char*)malloc(100007 * sizeof(char)); char *rev = (char*)malloc(100007 * sizeof(char)); scanf("%s", str); strcpy(rev, str); strrev(rev); if(strcmp(rev, str)) printf("NO"); else printf("YES"); free(str); free(rev); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные типа char*, называемые
str
иrev
, которые будут использоваться для хранения строки и её перевёрнутой версии. - С помощью функции
scanf
вводится строка и сохраняется в переменнойstr
. - С помощью функции
strcpy
перевёрнутая версия строки сохраняется в переменнойrev
. - Функция
strrev
переворачивает строку в переменнойrev
. - С помощью функции
strcmp
сравниваются строкиrev
иstr
. Если они равны, то выводитсяYES
, иначе выводитсяNO
. - С помощью функции
free
освобождается память, выделенная под переменныеstr
иrev
. - Возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д