来源:互联网 发布:excel如何将数据分类 编辑:程序博客网 时间:2024/04/29 04:43
/*通过栈判断回文*/#include<stdio.h>#include<string.h>int main(int argc,int *argv[]){    char str[100],temp[100];    int top=0;/*栈初始化为空栈*/    int i,len,mid,next;    scanf("%s",str);    len=strlen(str);    mid=len/2-1;    for(i=0;i<=mid;++i)    {        top++;        temp[top]=str[i];       }    if(mid%2==0)        next=mid+1;    else if(mid%2==1)        next=mid+2;    for(i=next;i<len;++i)    {        if(temp[top]!=str[i])        {            printf("No\n");            return 0;        }        else            top--;                          }           if(top==0)        printf("Yes\n");    return 0;}

模块化封装:

/*通过栈判断回文*/#include<stdio.h>#include<string.h>struct stack/*define stack*/{    char str[100];    int top=0;};int main(int argc,char **argv){    struct stack s;    int mid,len,next;    register int i;    char temp[100];    printf("请输入所需判断回文的字符串:\n");    scanf("%s",&s.str);     len=strlen(s.str);    mid=len/2-1;    for(i=0;i<=mid;++i)    {        s.top+=1;        temp[s.top]=s.str[i];    }    if(mid%2==0)        next=mid+1;    else        next=mid+2;    for(i=next;i<len;++i)    {        if(temp[s.top]!=s.str[i])        {            printf("No\n");            return 0;        }        else        s.top--;    }    if(s.top==0)        printf("Yes\n");    return 0;}
0 0
原创粉丝点击