Рекурсия C: упражнение 16 с решением
Напишите программу на C, чтобы проверить, является ли данная строка палиндромом.
Наглядное представление:
Пример решения:
Код C:
#include #include void checkPalindrome (char [], int); int main () {char wordPal [25]; printf (" n n Рекурсия: проверьте, является ли данная строка Палиндромом или нет: n"); printf ("------------------------ ---------------------------------- n "); printf ("Введите слово для проверки палиндрома:"); scanf ("% s", wordPal); checkPalindrome (wordPal, 0);//вызываем функцию проверки 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 ("Введенное слово является палиндромом. n n"); возвращаться; } checkPalindrome (wordPal, index + 1);//рекурсивный вызов самой функции} else {printf ("Введенное слово не является палиндромом. n n"); }}
Пример вывода:
Рекурсия: проверьте, является ли данная строка палиндромом или нет: ------------ ---------------------------------------------- Введите слово, чтобы проверить на палиндром: мама Введенное слово - палиндром.
Блок-схема:
Редактор кода программирования на C: