输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。
输入格式:
输入在一行中给出一个不超过80
个字符长度的、以回车结束的非空字符串。
输出格式:
输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes
,否则输出No
。
样例1">样例1">样例1">样例1">输入样例1:
level
输出样例1:
level
Yes
输入样例2:
1 + 2 = 2 + 1 =
输出样例2:
1 + 2 = 2 + 1 =
No
题解
那么要达到这个目的也很简单,确保是回文字母只要确定在字符串内的第一个字符和最后一个字符相符,然后两边各减掉一位,继续进行对比,如果一旦出现了哪个不相等,那就一定不是回文数。定义一个判断的数字(如judge)在程序开始赋初值0,在判断到不是回文数字的时候赋值1,然后break,在程序的末尾作if判断输出是YES或者NO(切记要先再输出一遍原字符串!题目要求!)
#include<stdio.h>
#include<string.h>//字符串头文件
int main(void){
char s[94];//定义一个足够大的字符串
int i=0,len=0,j,judge=0;
gets(s);//获取
puts(s);//原样输出,注意 puts会自带空格
len=strlen(s);//求长度
j=len-1;//长度记得要-1
for(i=0;i<len;i++,j--){
if(s[i]!=s[j]){
judge=1;
break;
}//逐个判断是否回文
}
if(judge==1) printf("No");
else printf("Yes");//作最后的判断
}