题目描述:
1.
从键盘输入一个字符串(最大长度<50),请编程判断这个字符串是不是回文,如果是回文,则输出“Yes”,如果不是, 则输出“No”。(“回文”是指正读反读都能一样的句子,它是古今中外都有的一种修辞方式和文字游戏,如“level”,“上海自来水来自海上”等)
#include<stdio.h> #include<string.h> int main() { char a[50]; int len,mid,flag=1; //flag用于标记是否为回文 int i,j; gets(a); len=strlen(a); mid=len/2; //mid 为 字串中间的下标 if(len%2!=0) { for(i=0,j=len-1;i<mid && j>mid;i++,j--) { if(a[i]!=a[j]) { flag=0; break; } } } if(len%2==0) { for(i=0,j=len-1;i<mid && j>=mid;i++,j--) { if(a[i]!=a[j]) { flag=0; break; } } } if(flag) printf("Yes\n"); else printf("No\n"); return 0; }