题目 1200:
回文串
时间限制: 1s 内存限制: 128MB 提交: 4584 解决: 2340
题目描述
回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。
输入格式
输入一个字符串。串长度<255.
输出格式
判别输入的字符串是否为回文串,是输出"Y",否则输出"N"。
样例输入
复制asdfdsa
样例输出
复制Y
#include<stdio.h>
#include<string.h>
int main()
{
char Str[256];
int i,j;
while(gets(Str))
{
for( i=0,j=strlen(Str)-1;i<j;i++,j--)
if(Str[i]!=Str[j])
break;
if(i>=j)//如果循环正常结束
printf("Y\n");
else
printf("N\n");
}
return 0;
}
还有一种,非常强
#include<stdio.h>
#include<string.h>
int main()
{
char Str[256],Str2[256];
while(gets(Str))
{
//strcpy(Str2,Str);//把Str拷贝到Str2
//strrev(Str2);//将Str2反转,linux 下编译器不支持此函数
//把Str反转放入Str2
int i,j;
for(i=strlen(Str)-1,j=0;i>=0;i--,j++)
Str2[j]=Str[i];
Str2[j]='\0';
if(strcmp(Str,Str2)==0)
printf("Y\n");
else
printf("N\n");
}
return 0;
}