GDUFE ACM-1028 回文串

题目:http://acm.gdufe.edu.cn/Problem/read/id/1028

Problem Description:

             “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

Input:

输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。

Output:

如果一个字符串是回文串,则输出"yes",否则输出"no".

Sample Input:

4
level
abcde
noon
haha

Sample Output:

yes
no
yes
no

思路:先判断这个字符串有多长,再把字符串的第一个字母与最后一个字母对比,我用了两个字符串,但感觉并不需要这么麻烦,有点多余,但是不想改啦(捂脸)
复杂度分析:也不是没很难呀,用了字符串,while,for,if


代码:

#include<stdio.h>
int main()
{
int n,i,j,b;
char ch[100],a[100];
while(scanf("%d",&n)!=EOF)
{
scanf("%s",ch);
i=0;
while(ch[i]!='')
{
i=i+1;
}
for(j=0;j<i;j++)
{
a[j]=ch[i-1];
i=i-1;
}
for(b=0;b<j;b++)
{
if(a[b]!=ch[b])
break;
}
if(b==j)
printf("yes ");
else printf("no ");
}
return 0;
}

原文地址:https://www.cnblogs.com/ruo786828164/p/5894485.html