《实验四栈基本应用——数制转换》由会员分享,可在线阅读,更多相关《实验四栈基本应用——数制转换(3页珍藏版)》请在金锄头文库上搜索。
1、实验四实验四 栈基本应用栈基本应用数制转换数制转换【实验目的实验目的】 1、掌握栈的顺序存储。熟练掌握它们的不同的约定中基本操作的实现方法 与差异。 2、掌握栈的特点及其基本操作(栈空/栈满条件,入栈/出栈) 、链栈(栈 空条件,入栈/出栈) ;【实验环境实验环境】VC+运行环境 【实验步骤及代码实验步骤及代码】 #include “stdio.h“ #include “stdlib.h“typedef int SElemType; #define MaxSize 100 #define STACKINCREMENT 10/定义栈的结构体 typedef struct SElemType *
2、base; SElemType * top; int stacksize; SqStack;int InitStack(SqStack if (!S.base) exit(1); S.top=S.base; S.stacksize=MaxSize; return 1; int Pop(SqStack e=*(-S.top);return 1; int Push(SqStack if (!s.base) exit(1); s.top=s.base+s.stacksize; s.stacksize+=STACKINCREMENT; *s.top+=e; return 1; bool StackEmpty(SqStack else return 0; void main() SqStack S; SElemType N,N2,d,e; InitStack(S); printf(“请输入要转换的数N=“); scanf(“%d“, N2=N; printf(“请输入要转换的进制d=“); scanf(“%d“, while(N) Push(S,N%d); N=N/d; printf(“把%d转换成%d进制是:“,N2,d); while(!StackEmpty(S) Pop(S,e); printf(“%d“,e); printf(“n“); 【实验结果实验结果】