【c语言】输入字符串,检查是否是回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。

#include <stdio.h>
#include <string.h>
void main()
{
    int i,n;
    char str[80];
    gets(str);
    n = strlen(str);
    for(i = 0;i<n/2;i ++ ){//比到一半就不比了
      if(str[i] != str[n-1-i])//这就是比较两端的字符
	  { 
	     printf("No!\n");
	     break;//两端字符串比较不相时跳出循环(不是回文)
	  }
	}
      if(i == n/2)
		 printf("Yes!\n");

}

总结:本程序的根本在于理解字符串的两端关于中间位置是对称的,比较时只需要比较n/2次就可以了。

发布了52 篇原创文章 · 获赞 69 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/lbqlzch/article/details/88385958