题目: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;
}