Упражнения C: Проверьте, является ли данная строка палиндромной или нет
С Рекурсия: Упражнение-16 с решением
Напишите программу на C, чтобы проверить, является ли данная строка палиндромом или нет.
Иллюстрированная презентация:
Пример решения:
Код C:
#include <stdio.h>
#include <string.h>
void checkPalindrome(char [], int);
int main()
{
char wordPal[25];
printf("\n\n Recursion : Check a given string is Palindrome or not :\n");
printf("----------------------------------------------------------\n");
printf(" Input a word to check for palindrome : ");
scanf("%s", wordPal);
checkPalindrome(wordPal, 0);//call the function for checking Palindorem
return 0;
}
void checkPalindrome(char wordPal[], int index)
{
int len = strlen(wordPal) - (index + 1);
if (wordPal[index] == wordPal[len])
{
if (index + 1 == len || index == len)
{
printf(" The entered word is a palindrome.\n\n");
return;
}
checkPalindrome(wordPal, index + 1);//calling the function itself recursively
}
else
{
printf(" The entered word is not a palindrome.\n\n");
}
}
Пример вывода:
Рекурсия: проверьте, является ли данная строка палиндромной или нет: -------------------------------------------------- -------- Введите слово для проверки на палиндром: мама Введенное слово является палиндромом.
Блок - схема:
Редактор кода программирования C:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Previous: написать программу на C для умножения двух матриц с использованием рекурсии.
Далее: Напишите программу на C для вычисления мощности любого числа с использованием рекурсии.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code