stacks.c
来自「北大青鸟软件工程师ppt的学生用书源代码」· C语言 代码 · 共 68 行
C
68 行
#include<stdio.h>
#define m 100
struct Mystack
{
char element[m];
int top;
};
void push(struct Mystack *s,char x) /*将x的值压入栈顶*/
{
s->element[s->top]=x;
s->top++;
}
int IsEmpty(struct Mystack *s)//判断栈是否为空
{
if(s->top==0)
return 1;
else
return 0;
}
void pop(struct Mystack *s) /*出栈操作,将栈顶元素删除*/
{
s->top--;
}
void Displaystack(struct Mystack *s)//显示从栈底到栈顶所有的元素
{
int i;
for(i=0;i<s->top;i++)
printf("%c",s->element[i]);
}
void Clearstack(struct Mystack *s)//将栈清空
{
s->top=0;
}
void main()
{
struct Mystack st;
char ch;
int i;
for(i=0;i<100;i++)
st.element[i]='\0';
st.top=0;
printf("请输入一行字符:\n");
ch=getchar();
while(ch!=EOF && ch!='\n')
{
switch(ch)
{
case '#':
if(!IsEmpty(&st))
pop(&st);
break;
case '@':
Clearstack(&st);
break;
default:
push(&st,ch);
}
ch=getchar();
}
printf("有效字符为:\n");
Displaystack(&st);
printf("\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?