用c语言如何实现判断回文?

 我来答
894946022
2017-12-29 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:37.9万
展开全部
绝对行!!!

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void main()
{
char a[100];
int len;
int i;
printf("请输入一串字符:");
scanf("%s",a);
len=strlen(a);
for(i=0;i<=len/2;)
{
if(a[i]!=a[len-i-1])
{

printf("你输入的不是回文!\n");
exit(0);
}

i++;
}

printf("你输入的是回文!\n");

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高中武老师
2018-05-28 · 社会百态,带你看本质
高中武老师
采纳数:359 获赞数:21908

向TA提问 私信TA
展开全部

下面介绍了几种判断回文的方法:

  1. 你提问的第一个地方,比如你输入了个5个字符的字符串 ,abcba    先判断第一个和最后一个是否相同 ,再判断第二个和倒数第二个 。

  2. 如果相等程序正常执行 ,如果不相等 ,break就跳出循环  ,你提问的第二个地方就是i 如果等于 len/2说明 上边循环式正常退出 。

    那就是说前后一一对比都相同 ,是回文数  ,不等于len/2说明是由break退出导致,既前边和后边某一位不相同

  3. 若输入 abbci=0str[0]='a'  str[4-1-0]='c'  执行break;跳出for循环循环结束 i=0  所以判断不是回文若输入abbai=0str[0]='a'  str[4-1-0]='a' i=1str[1]='b'  str[4-1-1]='b'i=2for循环条件不满足i

这还有另外一种方法,即include "stdio.h" main() { char str[50]; int p,i,j; printf("Input:"); scanf("%s",str); printf("Input the string is:%s\n",str); p=strlen(str); for(i=0,j=p-1;i=j) printf("huiwen"); else printf("not a huiwen"); }

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式