练习(回文)

实现回文操作

代码如下:

#include <stdio.h>
#include <string.h>

int main(int argc, const char *argv[])
{
    int i,top,next,mid,len;
    char a[101],s[101];
    gets(a);
    //栈的初始化
    top = 0;
    len = strlen(a); //获取字符长度
    mid = len / 2 - 1;
    for(i = 0; i <= mid; i++)
    {
        s[++top] = a[i] ;
        printf("%d %d\n",top,i);
    }
    //判断奇偶
    if(len % 2 == 0)
        next = mid + 1;
    else
        next = mid + 2;

    for(i = next;i <= len-1;i++)
    {
        if(a[i] != s[top])
            break;
        top--;
    }
    if(top == 0)
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}

运行结果:
选自《啊哈!算法》

猜你喜欢

转载自blog.csdn.net/qq_41906348/article/details/88638307