永发信息网

跪求利用栈实现数制转换的C源程序!!!!

答案:1  悬赏:70  手机版
解决时间 2021-04-05 09:43
跪求利用栈实现数制转换的C源程序!!!!
最佳答案
#include"stdio.h"
#include"stdlib.h"
#define null 0
#define n 10
struct stack{
int *base;
int *top;
int stacksize;
};
void initstack(struct stack *s)
{
s->base=(int*)malloc(20*sizeof(int));
if(!s->base) exit(0);
s->top=s->base;
s->stacksize=20;
return;
}
void push(struct stack*s,int e )
{
if(s->top-s->base>=s->stacksize)
{ s->base=(int*)realloc(s->base,(s->stacksize+n)*sizeof(int));
if(!s->base) exit(0);
s->top=s->base+s->stacksize;
s->stacksize+=n;
}
*(s->top)++=e;
return;
}
void pop(struct stack *s)
{ int e;
if(s->top==s->base) return;
e=*--s->top; printf("%d",e);
return;
}
void clearstack(struct stack*s)
{

if(s->top==s->base) return;
s->top=s->base;
return;
}
void conversion(int m)
{ struct stack s;
int*p=null;
initstack(&s);

while(m)
{ push(&s,m%2);
m=m/2;
}
for(p=s.top-1;p>=s.base;p--)
printf("%d",*p);
clearstack(&s);
}
main()
{int x;
printf("\nplease input a num (radix 10):");
scanf("%d",&x);
printf("\n after conversion (10)%d to 2: ",x);
conversion(x);
printf("\n");
}

这是我以前写的,运行通过的 数制转换程序,供参考.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
分析杜甫《九日》的平仄
x的二阶无穷小
anna wintour厉害在哪
请将下列动物与他们的运动器官联系起来.蝗虫
乌云朝格是
0.6除以10又3分之1等于多少
进口比亚迪多少钱一辆,比亚迪秦一切手续办齐
喝奇异果汁饮料可以解酒护肝吗?
解答题2012年1月16日,意大利“中国文化年”
网名我输入符号tel怎么开头是大写的,就像℡
为 什 么 有 的 同 学 表 面 上 不 学 习 而
什么叫做md5碰撞?就是被王小云找出来的那个m
问:健康真正的含义是什么?
手攀丹桂登金殿的解释
联想电脑卡了怎么办
推荐资讯
dell 灵越M521 AMD A8四核处理器与i5处理器,
为什么电视和电脑同时不行?
华为 荣耀 畅玩4c什么时候出的
怎么用ps把背景和图片融为一体
S319我想知道这个在什么地方
铸造车间产品质量提升总结报告请问我铸造车间
急求 年产10万吨啤酒发酵车间设计 cad制图
安全出囗灯套什么定额,消防安全出口灯安装预
新华书店台州市府大道店我想知道这个在什么地
风清竹影是成语
神武主要玩卡级龙宫另一个号玩什么门派好
结转成本是是否可以按销售额的一定比例结转
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?