codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <ctype.h> #include <stdio.h> #include <string.h> char DammitImMad[] = "Dammit I’m mad.\n" "Evil is a deed as I live.\n" "God, am I reviled? I rise, my bed on a sun, I melt.\n" "To be not one man emanating is sad. I piss.\n" "Alas, it is so late. Who stops to help?\n" "Man, it is hot. I’m in it. I tell.\n" "I am not a devil. I level \"Mad Dog\".\n" "Ah, say burning is, as a deified gulp,\n" "In my halo of a mired rum tin.\n" "I erase many men. Oh, to be man, a sin.\n" "Is evil in a clam? In a trap?\n" "No. It is open. On it I was stuck.\n" "Rats peed on hope. Elsewhere dips a web.\n" "Be still if I fill its ebb.\n" "Ew, a spider… eh?\n" "We sleep. Oh no!\n" "Deep, stark cuts saw it in one position.\n" "Part animal, can I live? Sin is a name.\n" "Both, one… my names are in it.\n" "Murder? I’m a fool.\n" "A hymn I plug, deified as a sign in ruby ash,\n" "A Goddam level I lived at.\n" "On mail let it in. I’m it.\n" "Oh, sit in ample hot spots. Oh wet!\n" "A loss it is alas (sip). I’d assign it a name.\n" "Name not one bottle minus an ode by me:\n" "\"Sir, I deliver. I’m a dog\"\n" "Evil is a deed as I live.\n" "Dammit I’m mad.\n" ; int ispalindrome( char *sentence ) { if( sentence && *sentence ) { char *dst = sentence ; char *src = dst ; /* in place overwrite copy of just the alpha chars as lowercase. */ while( *src ) { if( isalpha( *src ) ) *dst++ = tolower( *src ) ; ++src ; } /* look for symmetry */ src = sentence ; --dst ; while( src < dst ) { if( *src != *dst ) return 0 ; ++src ; --dst ; } } /* return TRUE for ** symmetric strings ** NULL ** "" */ return 1 ; } void test( char *string ) { int ret ; printf("Sentence: >>%s<<\n", string ? string : "--NULL--") ; ret = ispalindrome( string ) ; printf(" becomes: >>%s<<\n", string ? string : "--NULL--") ; printf(" is: %s palindrome.\n\n", ret ? "A" : "NOT A" ) ; } char *strdup_( char *s ) { if( s ) { int len = strlen(s) + 1 ; char *dup = malloc( len ) ; if( dup ) return memcpy( dup, s, len ) ; } return NULL ; } int main( int argc, char **argv ) { test( strdup_( 0 ) ) ; test( strdup_( "" ) ) ; test( strdup_( "Boris#Yeltsin" ) ) ; test( strdup_( "A Man, A Plan, A Canal - Panama!" ) ); test( DammitImMad ); return 1 ; }
Private
[
?
]
Run code
Submit