Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
Sample Input
4 level abcde noon haha
Sample Output
yes no yes no Problem Description “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。 Input 输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。 Output 如果一个字符串是回文串,则输出"yes",否则输出"no". Sample Input 4 level abcde noon haha Sample Output yes no yes no思路:在一个字符串数组数组里面判断是不是回文,操作起来比较麻烦,只有在两个数组里面,一个是正序输入数组a【100】里面,另一个数组b【100】存的是a【100】的逆序,这样只要比较a数组是否和b数组相等,即可判断是不是回文#include<stdio.h> #include<string.h> int main() { int n,i,t1,len,j; char a[100],b[100]; //定义数组a和b while(scanf("%d",&n)==1) { getchar(); //吸收"\n" while(n--) { int count=0; t1=0; //统计a数组和b数组是否全部相等 gets(a); len=strlen(a); for(j=len-1;j>=0;j--) { b[count++]=a[j]; } for(i=0;i<len;i++) { if(a[i]==b[i]) t1++; } if(t1==len) printf("yes\n"); //如果a和b相等输出yes else printf("no\n");} //否则输出no } return 0; }