#include <stdio.h>
#include <stdlib.h>
#include"PublicDS.h"
typedef int ElemType; //定义栈节点的结构
typedef struct StackNode{
ElemType data;
struct StackNode* next;
}StackNode;
//定义栈的结构
typedef struct Stack{
StackNode* top;
int count;
}Stack; /*
* 初始化一个空栈
*/
void InitStack(Stack* &s);
/*
* 销毁栈
*/
void DestroyStack(Stack* &s);
/*
* 清空栈
*/
void ClearStack(Stack* s);
/*
* 判断栈是否为空
*/
bool StackEmpty(Stack s);
/*
* 获取栈的长度
*/
int StackLength(Stack s);
/*
* 获取栈顶元素
*/
void GetTop(Stack s, ElemType* e);
/*
* 将元素压入栈
*/
void Push(Stack* &s, ElemType e);
/*
* 将元素弹出栈
*/
void Pop(Stack* &s, ElemType* e);
/*
* 打印栈
*/
void PrintStack(Stack* s,FILE* fout); void InitStack(Stack* &s)
{
MALLOC(s, sizeof(Stack), Stack*);
s->top = NULL;
s->count = ;
} void DestroyStack(Stack* &s)
{
StackNode* sn_tmp_ptr;
while (s->top){
sn_tmp_ptr = s->top;
s->top = s->top->next;
free(sn_tmp_ptr);
}
free(s); } void ClearStack(Stack* &s)
{
while (s->top){
s->top->data = ;
s->top = s->top->next;
}
} bool StackEmpty(Stack s)
{
return s.count< ;
} int StackLength(Stack s)
{
return s.count;
} void GetTop(Stack s, ElemType* e)
{
*e = s.top->data;
} void Push(Stack* &s, ElemType e)
{
StackNode* snptr;
MALLOC(snptr, sizeof(StackNode), StackNode*);
snptr->data = e;
snptr->next = s->top;
s->top = snptr;
s->count++; } void Pop(Stack* &s, ElemType* e)
{
*e = s->top->data;
StackNode* sn_tmp_ptr = s->top;
s->top = s->top->next;
s->count--;
free(sn_tmp_ptr);
} void PrintStack(Stack* s,FILE *fout)
{
while (s->top){
fprintf(fout,"%d", s->top->data);
s->top = s->top->next;
}
}
void main(){
FILE *fin, *fout;
fin = fopen("input.txt", "r");
fout = fopen("output.txt", "w");
int tmp = ;
while (!feof(fin)){
fscanf(fin, "%d", &tmp);
if (tmp != -){
fprintf(fout, "%8d--->", tmp);
Stack *sc = NULL;
InitStack(sc);
while (tmp / != )
{
Push(sc, tmp % );
tmp /= ;
}
Push(sc, tmp);
PrintStack(sc, fout);
fprintf(fout, "\n");
DestroyStack(sc);
}
}
fclose(fin);
fclose(fout);
system("pause");
}

最新文章

  1. [ImportNew] Perforce - Restoring Mistakenly Deleted Files in Workspace
  2. php数组插入数据库这个功能该怎么实现
  3. centos7 Nexus maven私有仓库
  4. 初用Ubuntu常见问题及解决方案之一
  5. sql大全
  6. event.keyCode|| event.which.的用法
  7. C++排列对称串
  8. HIVE Transform using 用法
  9. 测试的rtsp地址
  10. PRD产品需求文档概要
  11. CSS3中text-overflow支持以...代替超出文本
  12. css系列教程--选择器
  13. 交换机access和trunk的一些小结(转)
  14. TopCoder SRM 625 Incrementing Sequence 题解
  15. 类图class的依赖关系
  16. Linux select I/O 复用
  17. APICloud使用
  18. 洛谷mNOIP模拟赛Day2-将军令
  19. flutter 读写文件
  20. JS之工厂模式

热门文章

  1. 1.1 什么是LinQ
  2. VMware安装CentOS 图文教程
  3. How do I create an IIS application and application pool using InnoSetup script
  4. Solr高亮与Field权重
  5. 使用GDB调试器(一)
  6. QueryOver&lt;T&gt;
  7. NET开发面向对象2
  8. JAVA学习:多态
  9. 【学习笔记】锋利的jQuery(一)选择器
  10. 应该熟知的表单js应用(select、label、submit)