Проверить, является ли слово палиндромом - 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;
}

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

В этом коде:

  1. Объявлены две переменные типа char*, называемые str и rev, которые будут использоваться для хранения строки и её перевёрнутой версии.
  2. С помощью функции scanf вводится строка и сохраняется в переменной str.
  3. С помощью функции strcpy перевёрнутая версия строки сохраняется в переменной rev.
  4. Функция strrev переворачивает строку в переменной rev.
  5. С помощью функции strcmp сравниваются строки rev и str. Если они равны, то выводится YES, иначе выводится NO.
  6. С помощью функции free освобождается память, выделенная под переменные str и rev.
  7. Возвращается 0, что означает успешный конец работы программы.

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


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

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

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