杭电oj2029 回文串

题目链接

Palindromes _easy version

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

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

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

Sample Input
4
level
abcde
noon
haha

Sample Output
yes
no
yes
no

思路

两个思路,
一个是先得到字符串长度len,i循环到len/2;
比较string[i]与 string[len-1-i]是否相同;
另一个就比较猥琐了,库函数strrev()可以倒置字符串,哈哈哈哈

代码

#include <stdio.h>
#include <string.h>

int main(void)
{
    int n;
    char s[1024];
    char t[1024];

    scanf("%d%*c", &n);
    
    while (n--)
    {
        gets(s);
        strcpy(t, s);//复制
        strrev(s);//倒置
        puts(strcmp(t, s) ? "no" : "yes");
    }

    return 0;
}

发布了14 篇原创文章 · 获赞 1 · 访问量 277

猜你喜欢

转载自blog.csdn.net/qq_37774399/article/details/104178527