C语言编程:从键盘上输入一个字串,判断它是否回文。

2024-11-29 18:22:37
推荐回答(1个)
回答(1):

不用那么麻烦,看看这种思路
一个字符串如果是回文,就是两端相对于中心位置对称

123321
123-对称点-321
12321
12---3(对称点)--21
只需要拿左边这半边的字符,与右边的比较,如果一样,就是回文
#include
#include
"string.h"
void
main()
{
int
x,i;
char
st1[100]={0};
gets(st1);
x=strlen(st1);
for(i
=
0;
i
<=
x/2;
i++)///比到一半就不比了,原理已讲
{
if(st1[i]
!=
st1[x-i-1])///这就是比较两端的字符
{
break;//不是回文
}
}
if(i>
x/2)///没执行break,就是回文
printf("YES");
else
printf("NO");
}