用C++编写程序,判断给定字符串是否为回文(回文指正读和逆读都一样的字符串

 我来答
小北娃
2012-03-26 · TA获得超过105个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:111万
展开全部
是说回族文字吧?如果是这样的话,你的这个判断标准应该是有问题,需要查询各种字符集的范围,根据这个字符集的范围来做出判断才是正确的做法。
如果你的说的判断方法是正确的话,是写个简单的函数检查输入字符串是否满足你的要求就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xixuemei123
2012-03-26
知道答主
回答量:9
采纳率:0%
帮助的人:4.1万
展开全部
printf("请输入一个字符串");
char in[];
int len = sizeof (in);
gets(in);
for(int i=0;i<len/2;i++) //2分查找法
{
if(in[i]!=in[len-i]) //符数组遍历并且头尾比较 ,不相等
printf("输入的字符串不是回文");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小沫沫的店铺
2012-03-26 · TA获得超过135个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:124万
展开全部
把字符串拆分两部分 比如7个字符 分4组比较 第一个和最后一个 第二个和倒数第二个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白痴弟弟2
2012-03-30 · TA获得超过826个赞
知道小有建树答主
回答量:1116
采纳率:0%
帮助的人:306万
展开全部
#include <stdio.h>
#include <string.h>
#include <malloc.h>

void main()
{
char *test = "if i had a hifi";
char *modify = NULL;
char *pOrg = NULL;
int len = 0;

len = strlen(test);

modify = (char *)malloc(len + 1);
if(modify != NULL)
{
memset(modify, 0, len + 1);
pOrg = modify;
}

while(*test)
{
if(*test != 0x20)
{
*modify++ = *test;
}
// printf("test:%c\n", *test);
// printf("modify:%c\n", *modify);
test++;
}

printf("modify:%s\n", pOrg);

}
貌似有个指针问题的,记不得了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
点点复盘
推荐于2016-01-07 · 超过22用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:43万
展开全部
/****************************************
*函数名:f
*类属 :全局函数
*参数 :s 以0结束的字符串
*返回值:1,0
*功能 :如果s是对称的回访串,返回1,不是则返回0
******************************************/
int f(char* s)
{
if(NULL == s)return 0;
char *head=s;//指向第一个字符
char *tail=s+strlen(s)-1;//指向最后一个字符
while(true)
{
if(head >= tail)return 1;
if(*head == *tail)
{
head++;
tail--;
}
else
{
return 0;
}

}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式