题目描述:
回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。
输入:
输入一个字符串。串长度<255.
输出:
判别输入的字符串是否为回文串,是输出"Y",否则输出"N"。
样例输入:
abcba
样例输出:
Y
分析:这道题不难,只不过思路不好想,主要用到二分法,考虑前一半直接和后一半比较,不管是偶数项还是奇数项,偶数项直接就是一半一半,奇数项的话中间那一个不用比较,你想一下就能想明白了,直接解放源码:(有需要自取)
include <stdio.h>
include <string.h>
int main(void)
{
int a,count=0; char c[255]; gets(c); a=strlen(c); for(int i=0;i<a/2;i++) { if(c[i]==c[a-i-1]) { count++; } } if(count==a/2) { printf("Y"); }else{ printf("N"); } return 0;
}