实 验 报 告
课程名称:数据结构 年级班级:计算机1712 学号姓名:查玉坤 2017116128 任课教师:康长青
数据结构
实验目的
设计算法,把十进制整数转换为二至九进制之间的任一进制输出。
实验内容
代码如下:
#include
{ int top; ElemType *base; int stacksize; }sqstack;
/*初始化操作(创建一个空栈S)*/
void initstack(sqstack *S)
{ S->base=(ElemType *)malloc(INITSIZE*sizeof(ElemType)); S->top=0; S->stacksize=INITSIZE; }
/*入栈操作(将值为x的数据元素插入到栈S中,使之成为栈顶元素)*/
int push(sqstack *S,ElemType x) { if(S->top>=S->stacksize)
{S->base=(ElemType*)realloc(S->base,(S->stacksize+1)*sizeof(ElemType)); if(!S->base) return 0; S->stacksize++; }
S->base[S->top++]=x; return 1; }
/*输出栈操作(输出自栈顶到栈底的元素值)*/ void list(sqstack *S) { int i;
1
数据结构
for(i=S->top-1;i>=0;i--) printf(\ printf(\}
int main(){ int a,b,Jin,x,X,size; a=1; }
printf(\输入一个十进制数\\n\scanf(\X=x;
printf(\需要转化为多少进制数?\\n\scanf(\sqstack S; initstack(&S); while(x>=Jin){ a=(x%Jin); b=(x/Jin); push(&S,a); x=b; }
push(&S,x);
printf(\转换的%d进制数为:\list(&S); printf(\验证:\\n\
for(int i=S.top;i>0;i--){ if(i-1!=0) printf(\ else printf(\ } return 0;
2