#include <iostream>
using namespace std;

typedef int ElemType;

class SeqStack
{
public:
	SeqStack(int size);
	~SeqStack(){ delete[] elements; }
	void PushStack(ElemType x);
	ElemType PopStack(ElemType x);
	void ClearStack(){top = -1;}
	bool IsFullStack(){ return top == maxsize-1; }
	bool IsEmptyStack();
	void PrintStack();
private:
	unsigned height;
	int top;
	int maxsize;
	ElemType *elements;
};

SeqStack::SeqStack(int size)
{
	height = 0;
	top = -1;
	maxsize = size;
	elements = new ElemType[size];
}

void SeqStack::PushStack(ElemType x)
{
	if(IsFullStack())
	{
		cout<<"栈已满";
	}
	else
	{
		elements[++top] = x;
		height++;
	}
}

ElemType SeqStack::PopStack(ElemType x)
{
	x = elements[top];
	top--;
	height--;
	return x;
}

bool SeqStack::IsEmptyStack()
{
	return (height == 0)? true:false; 
}

void SeqStack::PrintStack()
{
	while(IsEmptyStack() == false)
	{
		cout<<elements[top]<<" ";
		top--;
		height--;
	}
	cout<<endl;
}

int main(void)
{
	int n;
	ElemType p;
	cout<<"请输入学生人数:";
	cin>>n;
	SeqStack h(n),m(n),l(n);
	cout<<"学生的成绩为:";
	for(int i=0;i<n;i++)
	{
		cin>>p;
		cout<<p<<" ";
		if(p>100)
		{ h.PushStack(p); }
		else if(p >= 60 && p <= 100)
		{ m.PushStack(p); }
		else
		{ l.PushStack(p); }
	}
	cout<<endl;
	cout<<"小于60的成绩:";
	l.PrintStack();
	cout<<"小于等于100且大于等于60的成绩:";
	m.PrintStack();
	cout<<"大于100的成绩:";
	h.PrintStack();
	system("PAUSE");
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值