10.3学习总结

(1)今日安排
栈实现回文
(2)源代码

#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
//元素进栈
int push(char* zhan,int top,char elem){
    zhan[top]=elem;
    top++;
    return top;
}
//元素出栈
int pop(char * zhan,int top){
    if (top==0) {
        printf("空栈");
        return -1;
    }
    top--;
    return top;
}
int main()
{
    int num;
    scanf("%d",&num);
    char a[MAXSIZE];
    char zhan[MAXSIZE];
    int top=0;
    getchar();
    gets(a);
    for(int k=0;k<num;k++)
    {
        if(a[k]==' ')
        {
            printf("入栈不成功");
            exit(0);
        }
        top=push(zhan,top,a[k]);
    }
    int count=0;
    for(int j=0;j<num;j++)
    {
        top=pop(zhan,top);
        if(a[j]!=zhan[top])
        {
            count++;
        }
    }
    if(count==0)
    {
        printf("此字符串是回文串");
    }
    else
    {
         printf("此字符串不是回文串");
    }
    return 0;
}

 

posted @ 2021-10-03 20:38  今天又双叒叕在敲代码  阅读(22)  评论(0编辑  收藏  举报