#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次就可以了。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐