判断是否为回文字符串

#include <stdio.h>
#include <conio.h>

int palind2(char str[], int k, int i)
{
    int j = 0;
    for(j=0;j<=k;j++)
    {
        if(str[j]!=str[i--])
            return 0;
    }
    return 1;
}

int palind(char str[], int k, int i)
{
    if(str[k]==str[i-k]&&k==0)
        return 1;
    else if(str[k]==str[i-k])
        palind(str, k-1,i);
    else
        return 0;
}


int main(int argc, char * argv[])
{
    printf("请输入一组字符串:\n");
    int i=0, n=0;
    char ch, str[20];
    while((ch=getchar())!='\n')
    {
        str[i] = ch;
        i++;
    }
    if(i%2==0)
        n = palind(str, (i/2), i-1);
    else
        n = palind(str, (i/2-1), i-1);
    if(n==0)
        printf("不是回文字符串");
    else
        printf("是回文字符串");



    getch();

    return 0;
}
原文地址:https://www.cnblogs.com/pythonschool/p/2745542.html