**
判斷一個字元是不是回文符
**
Problem Description
“回文串”是一個正讀和反讀都一樣的字元串,比如“level”或者“noon”等等就是回文串。請寫一個程式判斷讀入的字元串是否是“回文”。
Input
輸入包含多個測試執行個體,輸入資料的第一行是一個正整數n,表示測試執行個體的個數,後面緊跟着是n個字元串。
Output
如果一個字元串是回文串,則輸出"yes",否則輸出"no".
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
思路:就字元數組第零個與最後一個比較,第一個與倒數第二個比較……以此類推,直到比較到中間的就可以了。
注意:不要混淆sizeof與strlen的差別,sizeof是給數組配置設定的空間的大小,strlen是數組中元素的多少。
#include <stdio.h>
#include <string.h>
void main()
{
int n,i=0,length,count;
char a[1000];
while(scanf("%d%*c",&n)!=EOF)
{
while(n--)
{
count=0;
gets(a);
length=strlen(a);
for(i=0;i<length/2;i++)
{
if(a[i]==a[length-1-i])
count++;
else
{
printf("no\n");
break;
}
}
if(count==length/2)
printf("yes\n");
}
}
}