您的位置:首页 > 编程语言 > C语言/C++

c语言实现判断字符串是不是回文

2017-08-22 12:46 363 查看
#include <stdio.h>

#include <string.h>

#define BUFSIZE     100

typedef struct stack{

    int top;

    char arry[];

}Stack;

int main(void)

{

    char str[BUFSIZE];

    Stack s;

    int mid,i,len;

    int next;

    printf("输入要判断的字符串\n");

    scanf("%s",str);

    len = strlen(str);

    mid = len / 2;

    s.top = 0;//将栈顶设为0

    if(len / 2 == 0){//如果为偶数个元素

        next=mid    ;

        }else{//奇数个元素

            next = mid+1;

            }

//压栈

    for(i = 0;i < mid;i++){

        s.arry[i] = str[i];

        s.top++;

    }

//出栈

    while(s.top != 0){

        if(s.arry[s.top-1] ==str[next]){

            s.top--;

            next++;

        }  

        else

            break;

    }

    if(s.top == 0)

        printf("yes\n");

    else

        printf("no\n");

       

    return 0;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言