C语言判断字符串是否为回文
回文就是字符串中心对称,如“abcba”、“abccba”是回文,“abcdba”不是回文。
/*判断字符串是否为回文*/
#include <stdio.h>
int main(void)
{
int i,k;
char line[10];
/*输入字符串*/
printf("Enter a string:");
k=0;
while((line[k]=getchar())!='\n')
k++;
line[k]='\0';
/*判断字符串line是否为回文*/
i=0;//i是字符串首字符的下标
k=k-1;//k是字符串尾字符的下标
/*i和k两个下标从字符串首尾两端同时向中间移动,逐级判断对应字符是否相等*/
while(i<k){
if(line[i]!=line[k])//若对应字符不相等,则提前结束循环
break;
i++;
k--;
}
if(i>=k)//判断for循环是否正常结束,若是则说明字符串是回文
printf("It is a palindrome\n");
else
printf("It is not a palindrome\n");
return 0;
}