C :: Aufgabe #48 :: Lösung #3

4 Lösungen Lösungen öffentlich
#48

Testfunktion für Palindrome

Anfänger - C von devnull - 20.04.2014 um 17:57 Uhr
Schreibe eine Funktion isPalindrom, die für eine übergebene Zeichenkette (Wort) feststellt, ob es sich um ein Palindrom handelt (boolscher Rückgabewert).

Konsolenausgabe:


$ ./palindrom
Ein Wort eingeben: Otto
Otto ist ein Palindrom

#3
vote_ok
von devnull (8870 Punkte) - 22.04.2014 um 19:28 Uhr
Quellcode ausblenden C-Code
/* palindrom_3.c  char-Vergleich,rekursiv
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

#define tl(x) tolower(x)

_Bool cmplr(char *l, char *r) {
	if (r > l)
      return (tl(*l) == tl(*r)) ? cmplr(l+1, r-1) : 0;
	return 1;
}
			
_Bool isPalindrom(char *s) {
	return cmplr(s, s + strlen(s)-1);
}
	
int main() {
	char word[100];
     
	printf("Ein Wort eingeben: ");
    scanf("%s", word);
	printf("%s ist %s Palindrom\n", word, isPalindrom(word)?"ein":"kein");
	return 0;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben