⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huiwen.c

📁 这个程序主要是约瑟夫环
💻 C
字号:
#include<stdio.h>
#include<stdlib.h>
typedef  char datatype;
typedef struct stacknode{
datatype data;
struct stacknode *next;
}stacknode;



typedef struct {
stacknode *top;
}linkstack;



//置空栈 
  void initstack(linkstack *p)
        {
          p->top=NULL;
         }

//判断是否空栈 
    int stackempty(linkstack *p)
         {
           return p->top==NULL;
         }
   //入栈 
void push(linkstack *s,datatype x)
    {
    stacknode *q=(stacknode*)malloc(sizeof(stacknode));
     q->data=x;
    q->next=s->top;//将新结点*p插入链栈头部
    s->top=q;
     }      
//退栈 
     datatype pop(linkstack *S)
      {
            datatype x;
            stacknode *p=S->top;//保存栈顶指针
            if(stackempty(S))
            {}
                //  Error("Stack underflow.");  //下溢
            else
            {      
            x=p->data;  //保存栈顶结点数据
            S->top=p->next;  //将栈顶结点从链上摘下
            free(p);
            return x;
            }
       }
int  huiwen(char *str) 
    {



    linkstack *T=( linkstack* )malloc( sizeof(linkstack) );
int i , L;
char t;
initstack(T);
L=strlen(str); //求向量长度
for (i=0; i<=(L/2);i++)
{push(T,str[i]);
}
while( !stackempty(T))
{
// 每弹出一个字符与相应字符比较
t=pop(T);
if( t!=str[L-i]) { return 0 ;}// 不等则返回0
i--;
}
return -1 ; // 比较完毕均相等则返回 -1
}



int main(void)
{
char str[100];
scanf("%s",str);
  if(huiwen(str))
printf(" \n这个字符串是回文。");
else printf("\n这个字符串不是回文。");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -