怎么判断一段汉字是回文字符串。例如“上海自来水来自海上”是回文字符串。
#include <stdio.h>
#include <string.h>
int main()
{
char ch[] = "上海自来水来自海上";
int n = strlen(ch);
if(n%2==0)
{
printf("不是中文回文串\n");
return 0;
}
for(int i=0;i<n/4;i+=2)
{
if(ch[i] != ch[n-i-2]) ||(ch[i+1] != ch[n-i-1]))
{
printf("不是中文回文串\n");
return 0;
}
}
printf("是中文回文串\n");
return 0;
}
只需要两个字节两个字节进行比较就可以了