ʵÓÃÊý¾Ý½á¹¹»ù´¡²Î¿¼´ð°¸ ÏÂÔر¾ÎÄ

r1->vec[r1->len+i]= '\\0' ; // ÌíÉÏ×Ö·û´®½áÊø±ê¼Ç r1->len= r1->len+r2->len ; // ÐÞ¸Äд®³¤¶È

} }

£¨2£©ÉèxºÍyÁ½¸ö´®¾ù²ÉÓÃ˳Ðò´æ´¢·½Ê½£¬ÏÂÃæµÄ³ÌÐòÊDZȽÏx ºÍyÁ½¸ö´®ÊÇ·ñÏàµÈµÄº¯Êý£¬ÊÔÍê³É³ÌÐòÌî¿Õ¡£

#define MAXLEN 100 typedef struct

{ char vec[MAXLEN]; len; } str; int same (x,y) str *x,*y; { int i=0,tag=1;

if (x->len != y->len) return (0); // (»ò <> ) else

{ while ( ilen && tag )

{ if ( x->vec[i] != y->vec[i] ) tag=0 ; i++ ; £¨ »ò i=i+1 £© } return (tag); } }

£¨4£© ÏÂÃæËã·¨ÊÇÅжÏ×Ö·û´®ÊÇ·ñΪ»ØÎÄ£¨¼´Õý¶ÁºÍµ¹¶ÁÏàͬ£©£¬ÊÔÍê³É³ÌÐòÌî¿Õ¡£

#include \typedef struct

{ char vec[MAXLEN]; int len; }str;

void Palindrome (str s) { int i=0;

ing j= s.len-1 ; while ( j-i>=1 )

{ if ( s.vec[i]== s.vec[j] )

{i++; j-- ;continue} // (»ò j=j+1 ) else break; }

if ( j-i>=1 )

cout<<\

29

else

cout<<\}

Î壮 ±à³ÌÌâ

£¨1£©ÉèÏÂÃæËùÓõĴ®¾ù²ÉÓÃ˳Ðò´æ´¢·½Ê½£¬Æä´æ´¢½á¹¹¶¨ÒåÈçÏ£¬Çë±àдÏÂÁÐËã·¨£º #define MAXLEN 100 typedef struct

{ char vec[MAXLEN]; int len; } str;

¢Ù ½«´®ÖÐrÖÐËùÓÐÆäֵΪch1µÄ×Ö·û»»³Éch2µÄ×Ö·û¡£ ¢Ú ½«´®ÖÐrÖÐËùÓÐ×Ö·û°´ÕÕÏà·´µÄ´ÎÐòÈÔ´æ·ÅÔÚrÖС£ ¢Û ´Ó´®rÖÐɾ³ýÆäÖµµÈÓÚchµÄËùÓÐ×Ö·û¡£

¢Ü ´Ó´®r1ÖеÚindex¸ö×Ö·ûÆðÇó³öÊ×´ÎÓë×Ö·ûr2ÏàͬµÄ×Ó´®µÄÆðʼλÖᣠ¢Ý ´Ó´®rÖÐɾ³ýËùÓÐÓë´®r3ÏàͬµÄ×Ó´®£¨ÔÊÐíµ÷Óõڣ¨4£©Ð¡ÌâµÄº¯Êý£©¡£ ¢Þ ±àдһ¸ö±È½Ïx ºÍyÁ½¸ö´®ÊÇ·ñÏàµÈµÄº¯Êý¡£ ½â£º

¢Ù//Ë㷨˼Ï룺´ÓÍ·ÖÁβɨÃèr´®£¬¶ÔÓÚֵΪch1µÄÔªËØÖ±½ÓÌæ»»³Éch2¼´¿É¡£

str *trans(r,ch1,ch2) str *r;

char ch1,ch2; { int i;

for(i=0;ilen;i++)

if(r->vec[i]==ch1)

r-vec[i]=ch2;

return(r); }

¢Ú//Ë㷨˼ÏëÊÇ£º½«µÚÒ»¸öÔªËØÓë×îºóÒ»¸öÔªËؽ»»»£¬µÚ¶þ¸öÔªËØÓëµ¹ÊýµÚ¶þ¸öÔª

Ëؽ»»»£¬ÒÀ´ÎÀàÍÆ£¬±ã½«¸Ã´®µÄËùÓÐ×Ö·û·´ÐòÁË¡£

str *invert (r) str *r;

{ int i; char x;

for(i=0;i<(r->len%2);i++) { x=r->vec[i];

r->vec[i]=r->[r->len-i+1]; r->vec[r->len-i+1]=x; }

return (r ); }

¢Û//Ë㷨˼Ï룺´ÓÍ·µ½Î²É¨Ãèr´®£¬¶ÔÓÚֵΪchµÄÔªËØÓÃÒƶ¯µÄ·½Ê½½øÐÐɾ³ý¡£

str *delall(r,ch)

str *r;

30

char ch; { int i,j;

for(i=0;ilen;i++) if(r->vec[i]==ch) {

for(j=i;jlen;j++)

r->vec[i]=r->vec[i+1]; r->len=r->len-1; }

return (r );

}

¢Ü//Ë㷨˼Ï룺´ÓµÚindex¸öÔªËØ¿ªÊ¼É¨Ãèr1£¬µ±ÆäÔªËØÖµÓër2µÄµÚÒ»¸öÔªËصÄÖµ

Ïàͬʱ£¬Åж¨ËüÃÇÖ®ºóµÄÔªËØÖµÊÇ·ñÒÀ´ÎÏàͬ£¬Ö±µ½r2½áÊøΪֹ£¬Èô¶¼ÏàͬÔò·µ»Ø£¬·ñÔò¼ÌÐøÉÏÊö¹ý³ÌÖ±µ½r1ɨÃèÍêΪֹ¡£ int partposition(r2,r1,index) str *r2, *r1; int index;

{ int i,j,k;

for(i=index;r1->vec[i];i++)

for(j=i,k=0;r1->vec[j]==r2->vec[k];j++,k++) if(!r2->vec[k+1]) return(i); return(-1); }

¢ÝË㷨˼Ï룺´ÓλÖÃ1¿ªÊ¼µ÷Óõڣ¨4£©Ð¡ÌâµÄº¯Êýpartposition£¨£©£¬ÈôÕÒµ½ÁËÒ»¸ö

Ïàͬ×Ó´®£¬Ôòµ÷ÓÃdelsubstring£¨£©£¬ÔÙÏàͬµÄ·½·¨²éÕÒºóÃæλÖõÄÏàͬ×Ó´®¡£ str *delstringall(r,r3) str *r, *r3; { int i=0;

while(ilen)

{ if(partposition(r,r3,i)!=-1)

delsubstring(r,i,r3->len) i++; }

}

¢ÞÁ½¸ö´®ÏàµÈµÄÌõ¼þÊÇÁ½¸ö´®µÄ³¤¶ÈÏàµÈ£¬ÇÒÁ½¸ö´®µÄ¶ÔÓ¦µÄ×Ö·û±ØÐ붼Ïàͬ¡£

int same(x,y) str *x,*y;

{ int i=0,tag=1;

if(x->len!=y->len)

return(0); else

{ while(ilen && tag)

{ if(x->vec[i]!=y->vec[i])

31

tag=0;

i++; }

return(tag); }

}

£¨2£© Éè¼ÆÒ»Ëã·¨ÅжÏ×Ö·û´®ÊÇ·ñΪ»ØÎÄ£¨¼´Õý¶ÁºÍµ¹¶ÁÏàͬ£© ½â£º#include \

typedef struct { char *head; int length; }Hstring;

void isPalindrome(Hstring s) {

int i=0;

int j=s.length-1; while(j-i>=1) {

if (s.head[i]==s.head[j]) {i++; j--; continue;} else break; }

if(j-i>=1)

printf(\ else

printf(\}

£¨3£© Éè¼ÆÒ»Ëã·¨´Ó×Ö·û´®ÖÐɾ³ýËùÓÐÓë×Ö´®\del\ÏàͬµÄ×Ó´® ½â£º#include \

#include \typedef struct { char *head;

int length; }Hstring;

char *DeleteSubString(Hstring S,Hstring T) {

int i=0; int j,k;

int Slength=S.length; int Tlength=T.length; char *tail;

while(i<=Slenght-Tlength) {

32