用C语言如何编写判断一个字符序列是否是回文的函数?
1个回答
展开全部
//首先我认为回文不一定是奇数个;也有可能是偶数个;只要这个字符串
//正读跟反读都一样 那它就是回文 所以不应该把字符串的个数当成是判断回文串的
//一个条件。
#include <stdio.h>
#include <string.h>
#include <conio.h>
bool huiWen(const char *p);
int main()
{
char test[225];
gets(test);
if(huiWen(test))
{
printf("是回文!\n");
}
else
{
printf("不是回文!\n");
}
getch();
return 0;
}
bool huiWen(const char *p)
{
int i=0,n=strlen(p);
while(p[i]==p[n-i-1] && i<n-i-1) //只要相等且还未相遇则继续循环
{
i++;
}
return ((i<n-i-1)? false:true); //若i<n-i-1表示中途遇到不相等的字符而退出循环
}
//正读跟反读都一样 那它就是回文 所以不应该把字符串的个数当成是判断回文串的
//一个条件。
#include <stdio.h>
#include <string.h>
#include <conio.h>
bool huiWen(const char *p);
int main()
{
char test[225];
gets(test);
if(huiWen(test))
{
printf("是回文!\n");
}
else
{
printf("不是回文!\n");
}
getch();
return 0;
}
bool huiWen(const char *p)
{
int i=0,n=strlen(p);
while(p[i]==p[n-i-1] && i<n-i-1) //只要相等且还未相遇则继续循环
{
i++;
}
return ((i<n-i-1)? false:true); //若i<n-i-1表示中途遇到不相等的字符而退出循环
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询