中易网

十进制数到N进制数据的转换如二进制,八进制)进制数据.利用顺序栈实现数制转换问题

答案:3  悬赏:0  
解决时间 2021-11-09 12:45
  • 提问者网友:西路不相离
  • 2021-11-08 11:46
要有详细的程序代码
最佳答案
  • 二级知识专家网友:丢不掉的轻狂
  • 2021-11-08 12:11
# include<stdio.h>
typedef int DataType;
# define Maxsize 100
typedef struct
{
DataType stack[Maxsize];
int top;
}SeqStack;
void StackInitiate(SeqStack *s)
{
s->top=0;
}
int StackPush(SeqStack *s,DataType x)
{
if(s->top>=Maxsize)
{
printf("堆栈已满,无法插入!");
return 0;
}
else
{
s->stack[s->top]=x;
s->top++;
return 1;
}
}

int stackPop(SeqStack *s,DataType *x)
{
if(s->top<0)
{
printf("堆栈已空,无法删除!");
return 0;
}
else
{
s->top--;
*x=s->stack[s->top];
return 1;
}
}

int StackNotEmpty(SeqStack s)
{
if(s.top<=0)
return(0);
else
return 1;
}
void main()
{
int x,y,a;
SeqStack s;
StackInitiate(&s);
printf("请输入一个十进制的数:");
scanf("%d",&x);
while(x!=0)
{
y=x%2;
x=x/2;
StackPush(&s, y);
}
while(StackNotEmpty( s)!=0)
{
stackPop(&s, &a);
printf("%d",a);
}
printf("\n");
}
全部回答
  • 1楼网友:情战凌云蔡小葵
  • 2021-11-08 14:05
#include<stdio.h> main() { scanf(" " ); printf(" "); }
  • 2楼网友:一只傻青衣
  • 2021-11-08 13:02
你好! #include main() { scanf(" " ); printf(" "); } 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息