欢迎来到天天文库
浏览记录
ID:42594391
大小:153.93 KB
页数:6页
时间:2019-09-18
《数据结构上机实验报告-数值转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构上机实验报告数值转换陈冠豪20102105010101015二O一O年5月26号 M进制数转换N进制的数值转换 实验目的实现代码:#include#include#include#include#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10#defineOK1#defineTRUE1#defineFALSE0#defineOVERFLOW0#defineERROR0typedefintSElemType;typedefintSt
2、atus;typedefstruct{SElemType*base;//在栈构造之前和销毁之后,base的值为NULLSElemType*top;//栈顶指针intstacksize;//当前已分配的存储空间,以元素为单位}SqStack;StatusInitStack(SqStack&S){S.base=newSElemType[STACK_INIT_SIZE];if(!S.base)exit(OVERFLOW);S.top=S.base;S.stacksize=STACK_INIT_SIZE;returnOK;}StatusPush(SqStack&S,
3、SElemTypee){//栈不满,将e插入栈顶if(S.top-S.base>=S.stacksize)//栈满returnOVERFLOW;*S.top++=e;returnOK;}StatusPop(SqStack&S,SElemType&e){//栈不空,删除S的栈顶元素//用e返回其值,并返回OK;//否则返回ERRORif(S.top==S.base)returnERROR;e=*--S.top;returnOK;}StatusGetTop(SqStackS,SElemType&e){if(S.top==0)returnERROR;e=*(S.t
4、op-1);returnTRUE;}boolStackEmpty(SqStackS){if(S.base==S.top)returnTRUE;returnFALSE;}voidshuzhi(intm,intn,intk){intnum=0;for(inti=1;n>0;num+=(n%10*pow(m,i)),i++,n/=10){}SqStackS;InitStack(S);SElemTypee;while(num>0){Push(S,num%k);num=num/k;}while(!StackEmpty(S)){Pop(S,e);printf("%d",
5、e);}}voidmain(){intM,N,K;printf("M进制数N转换到K进制(M,N,K):");scanf("%d,%d,%d",&M,&N,&K);shuzhi(M,N,K);}
此文档下载收益归作者所有