本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。
1.定义一个函数(使数组内的字符左右交换)
void reverse(char *left,char *right)
{
while(left < right)
{
char tmp = 0;
tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
2.复制原来数组
for(int i=0;i<len;i++)
{
b[i] = s[i];
}
3.交换原数组中的值
reverse(s,s+len-1);
4.判断原数组和交换后的数组是否相同
for(int i=0;i<len;i++)
{
if(b[i]==s[i])
m++;
}
5.再将原数组的值赋给交换后的数组并输出
for(int i=0;i<len;i++)
{
s[i] = b[i];
}
6.判断并返回
if(m==len)
return true;
else
return false;