#include < stdio.h> #include < stdlib.h> #include < string.h>
int est_palidrome(char *str) { bool result = false; //wenn das Wort nicht mehr als 1 Zeichen enthält if(strlen(str) <= 1) Ergebnis = wahr; //andernfalls, wenn das erste Zeichen entspricht dem latest else if(str[0] == str[strlen(str)-1]) { //le Erstens und das letzte Zeichen werden überprüft, damit sie eliminiert werden char temp[strlen(str)-2]; //memcpy ermöglicht es Ihnen, ein Teil zu kopieren str in temp -2: das '\0' + das letzte eliminierte Zeichen memcpy( temp, & str[1], strlen(str) - 2 ); // '\0' gibt die Grenze an temp[strlen(str) - 2] = '\0'; //rekursiver Aufruf Ergebnis = est_palidrome(temp); } Ergebnis zurückgeben; }
int main() { char str[20]; printf("Geben Sie eine Zeichenfolge ein.\n"); scanf("%s",str);
if(est_palidrome(str)) printf("Es ist ein Palindrom!\n"); else printf("Es ist kein Palindrom! \n"); system("pause"); } |