判断字符是否为回文
Code
#include <iostream.h>
#include <stdio.h>
#include <assert.h>
bool IsSymmetry(const char* p)
{
assert(p!=NULL);//判断指针是否为空
const char* q=p;//指向常字符的指针
int len=0;
while(*q++!='\0')
{
len++;
}
bool bSign=true;
q=p+len-1;
if (0<len)
{
for (int i=0;i<len/2;i++)
{
if(*p++!=*q--){ bSign=false;break;};
}
}
if(bSign==true)
{
printf("Yes!\n");
}
else
{
printf("No!\n");
}
return bSign;
}
void main()
{
char *str="abcdeffedcba";
cout<<IsSymmetry(str)<<endl;
}
#include <iostream.h>
#include <stdio.h>
#include <assert.h>
bool IsSymmetry(const char* p)
{
assert(p!=NULL);//判断指针是否为空
const char* q=p;//指向常字符的指针
int len=0;
while(*q++!='\0')
{
len++;
}
bool bSign=true;
q=p+len-1;
if (0<len)
{
for (int i=0;i<len/2;i++)
{
if(*p++!=*q--){ bSign=false;break;};
}
}
if(bSign==true)
{
printf("Yes!\n");
}
else
{
printf("No!\n");
}
return bSign;
}
void main()
{
char *str="abcdeffedcba";
cout<<IsSymmetry(str)<<endl;
}