c语言判断字符是不是回文程序编程用指针

2024-11-16 12:42:07
推荐回答(2个)
回答1:

#include 
#include 
#include 

void IsSymmetrical(char *str) {
char *begin, *end;
int flag, len = strlen(str);
    for (begin=str, end=str+len-1, flag=1; begin<=end; begin++, end--) {
if (*begin != *end) {
flag = 0;
            break; 
}
}
    if (flag)
        printf("是回文!\n");
    else
        printf("不是回文!\n");
}

int main(void)
{
    char str[100];
    printf("请输入字符串:");
    gets(str); 
IsSymmetrical(str);
    return 0;  
}

执行结果

输入:abcdcba

输入:abcdefg

回答2:

#include
#include
int main(void)
{
char a[100];
char *p = a,*q;
int flag = 1;
gets(a);
q = a+strlen(a)-1;
while(p < q)
{
if(*p != *q)
{
flag = 0;
break;
}
p++;
q--;
}
if(flag)
printf("%s是回文\n",a);
else
printf("%s不是回文\n",a);

return 0;
}