欢迎来到天天文库
浏览记录
ID:53852109
大小:31.00 KB
页数:3页
时间:2020-04-08
《利用顺序栈将一个非负地十进制整数N转换为对应地B进制数.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#include#defineinit_size100#defineincreasesize10typedefstruct{int*base;int*top;intstacksize;}SqStack;voidOutPrint(SqStack&s){SqStackp=s;if(p.base==p.top){printf("栈当前为空");}else{inti=0;printf("栈当前数据:");while(i2、tack&s){s.base=(int*)malloc(init_size*sizeof(int));s.top=s.base;s.stacksize=init_size;}voidGetTop(SqStack&s,int&e){if(s.base==s.top)printf("这是一个空的栈");else{e=*(s.top-1);printf("栈顶元素为%d",e);}}voidPush(SqStack&s,inte){if(s.top-s.base>=s.stacksize)s.base=(int*)realloc(s.base,(s.stacksize+increasesize)3、*sizeof(int));*s.top++=e;s.stacksize++;}voidPop(SqStack&s,int&e){if(s.base==s.top){printf("这是空的栈");e=-1;}else{e=*--s.top;s.stacksize--;//printf("出栈元素是%d.",e);}}voidconversion(inta,intb){SqStacksc;inte;intsa=a;CreateStack(sc);while(a){Push(sc,a%b);a=a/b;}printf("%d转化为%d进制:",sa,b);intc=sc.top-sc.base;4、for(inti=0;i5、utPrint(s);break;case3:printf("输入要转换的十进制数以及进制数:");scanf("%d,%d",&a,&b);conversion(a,b);break;}}}
2、tack&s){s.base=(int*)malloc(init_size*sizeof(int));s.top=s.base;s.stacksize=init_size;}voidGetTop(SqStack&s,int&e){if(s.base==s.top)printf("这是一个空的栈");else{e=*(s.top-1);printf("栈顶元素为%d",e);}}voidPush(SqStack&s,inte){if(s.top-s.base>=s.stacksize)s.base=(int*)realloc(s.base,(s.stacksize+increasesize)
3、*sizeof(int));*s.top++=e;s.stacksize++;}voidPop(SqStack&s,int&e){if(s.base==s.top){printf("这是空的栈");e=-1;}else{e=*--s.top;s.stacksize--;//printf("出栈元素是%d.",e);}}voidconversion(inta,intb){SqStacksc;inte;intsa=a;CreateStack(sc);while(a){Push(sc,a%b);a=a/b;}printf("%d转化为%d进制:",sa,b);intc=sc.top-sc.base;
4、for(inti=0;i5、utPrint(s);break;case3:printf("输入要转换的十进制数以及进制数:");scanf("%d,%d",&a,&b);conversion(a,b);break;}}}
5、utPrint(s);break;case3:printf("输入要转换的十进制数以及进制数:");scanf("%d,%d",&a,&b);conversion(a,b);break;}}}
此文档下载收益归作者所有