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