题目描述:读入一串字符,判断是否是回文串。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。

输入:一行字符串,长度不超过255。

输出:如果是回文串,输出“YES”,否则输出“NO”。


#include <cstdio>
#include <cstring>

const int maxn=256;

//长度不超过255。

bool judge(char str[]){
    int len=strlen(str);    //字符串长度
    for(int i=0;i<len/2;i++){   //i枚举字符串前一半
        if(str[i]!=str[len-1-i]){   //如果对称位置不同
            return false;
        }
    }
    return true;
}

//判断字符串str是否为回文串。

int main(){
    char str[maxn];
    while(gets(str)){       //输入字符串
        bool flag=judge(str);   //判断str是否为回文串
        if(flag==true){
            printf("YESn");
        }else{printf("NOn");}
    }
    return 0;
}

标签: none

添加新评论