题目1192:回文字符串
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:3638
解决:1715
-
题目描述:
-
给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。
-
输入:
-
输入包括一行字符串,其长度不超过1000。
-
输出:
-
可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。
-
样例输入:
-
hellolleh helloworld
-
样例输出:
-
Yes! No!
#include<stdio.h>
#include<string.h>
int main(){
char a[100];
int n,i,l,j;
while(~scanf("%s",a))//字符串中没有空格所以可以用scanf,scanf不会把空格当成字符串
{
l=strlen(a);
for(i=0,j=l-1;i<=l/2;i++,j--)//注意比较时由于是首位比较那么只需比较字符串长度的2/1即可
{
if(a[i]!=a[j])
{
printf("No!\n");
break;
}
if(i==l/2)//当i自增到字符串/2时还未跳出循环,即为回文数
printf("Yse!\n");
}
}
return 0;
}