编写程序,判断一字符串是否为回文,若是输出YES,若否输出NO

C语言的... C语言的 展开
 我来答
ynnej
2009-04-28 · 超过21用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:64.1万
展开全部
/*在TC中编译*/
#include "Stdio.h"
#include "Conio.h"
#include"string.h"

/*函数功能 测试某个字符串是否是回文*/
int Hui_text(char *ch)
{
char st[20];
int count=strlen(ch);
if(count==1||count==0) /*若是空串或只有一个字符则肯定是回文*/
{
return 1;
}
else
{ if(ch[0]==ch[count-1]&&count-2>0) /*若字符数大于1,则首位字符比较,若相等则比较接下来的count-2个字符,若
count-2小于或等于0,则表示没有剩余字符比较了则肯定是回文。否则递归调用测试函数。*/
{
strncpy(st,ch+1,count-2); /*复制下标从ch+1到count-2(原字符串倒数第二个字符)的count-2个字符*/
st[count-2]='\0';
strcpy(ch,st);
Hui_text(ch); /*递归调用*/
}
else if(ch[0]==ch[count-1]&&count-2<=0)
return 1;
else
return 0;
}

}
int main(void)
{
/* 此处添加你自己的代码 */
int i;
char ch[20],st[20];
printf("enter a string\n");
scanf("%s",ch);
strcpy(st,ch);
i=Hui_text(ch);
if(i==1)
{
printf("you have entered:-> %s is a Hui\n",st);
}
else
printf("you have entered:-> %s is NOT a Hui\n",st);
getch();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dream8346
2009-04-29 · TA获得超过696个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:192万
展开全部
int fun(char*s1,char*s2)
{
char *p = NULL;
char *p2 = NULL;

for(p = s1,p2 = s2 + strlen(s2) - 1;*p != *p2; p++,p2--);

if(*p == '\0') return printf("YES");
else return printf("NO");
}
这就是C语言的呀,使用指针方便。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式