站点图标 陌路寒暄

Palindromes _easy version

Palindromes _easy version

时间: 1ms        内存:64M

描述:

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

输入:

输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串,每个字符串的长度不超过500。

输出:

如果一个字符串是回文串,则输出"yes",否则输出"no".

示例输入:

4
level
abcde
noon
haha

示例输出:

yes
no
yes
no

提示:

参考答案(内存最优[752]):

#include<stdio.h>
#include<string.h>
int main()
{
    int n,i,j,l;
    char a[1000];
    scanf("%d",&n);
    getchar();
    while(n--)
    {
        gets(a);
        l=strlen(a);
        for(i=0,j=l-1; i<j; i++,j--)
            if(a[i]!=a[j])
            {
                printf("no\n");
                break;
            }
        if(i==l/2)
            printf("yes\n");
    }
    return 0;
}

参考答案(时间最优[0]):

#include<stdio.h>
#include<string.h>
int f(char a[])
{
	int i,n;
	n=strlen(a);
	for(i=0;i<n/2;i++)
	{	if(a[i]!=a[n-i-1])
	{return 0;}
	}
return 1;
}

int main()
{
	int x,m;
char a[500];
	scanf("%d",&x);
	
	for(int j=1;j<=x;j++)
	{
		scanf("%s",a);
		m=f(a);
		if(m==0)
			printf("no\n");
		else
			printf("yes\n");}
		
	
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版