xiaopangtou123 2016-05-26 00:37 采纳率: 28.6%
浏览 1148

数据结构 进制转换问题 编译能够通过 但是最后代码运行结果没有输出啊!!

#include
#include
#include
#define OK 1
#define ERROR -1
#define OVERFLOW -1
#define ENDFLAG 0
#define STACK_INIT_SIZE 100//初始分配量
#define STACKINCREMENT 10//增量
typedef int Status;
typedef int SElemType;
typedef struct
{
SElemType *base;//指向栈底,栈构造之前和销毁之后,都为NULL;
SElemType *top;//指向栈顶
int stacksize;//当前已分配的空间,即当前栈的总大小
}SqStack;
void InitStack (SqStack *S)//初始化
{
S->base = (SElemType * )malloc(STACK_INIT_SIZE * sizeof(SElemType));
if(!S->base)
exit(OVERFLOW);
S->top = S->base;
S->stacksize = STACK_INIT_SIZE;

}
Status GetTop(SqStack S,SElemType *e)//获取栈顶元素值
{
if(S.top == S.base)//先判断栈是否为空 为何这里用.行 而用->却不能通过编译
return ERROR;
e = (S.top - 1);//注意这里的e是指针 写成e = *(S.top - 1这个样子 有一定的不妥当
return OK;

};
Status push (SqStack S,SElemType e)//元素入栈
{
if(S->top - S->base >= S->stacksize)//栈满,增加空间!
{
S->base = (SElemType *) realloc (S->base,(S->stacksize + STACKINCREMENT) *sizeof(SElemType));
if(!S->base)
exit(OVERFLOW);
S->top = S->base + S->stacksize;
S->stacksize += STACKINCREMENT;
}
*(S->top) = e;
S->top++;
return OK;
}
Status Pop (SqStack *S,SElemType *e)//出栈
{
if((S->top == S->base)) return ERROR;
S->top--;
*e = *(S->top);
//e =
--S->top;

return e;

}
void d_to_o(SElemType n,SElemType m)//进制转换
{
SqStack s;
SElemType e;
InitStack(&s);//构造空栈
while(n)
{
push(&s,n%m);
n = n/m;
}
while((s.top == s.base))
{
Pop(&s,&e);
printf("%5d",e);
}
}

int main()
{ SElemType n,m;

//system("CLS");
//clrscr();
//SqStack s;
//InitStack(&s);
printf("Input the data that you want to exchange : ");
scanf("%d",&n);
printf("Input the redix_numberdata :");
scanf("%d",&m);
//system("CLS");
//clrscr();
printf("\nThe result is as the follow:\n");
d_to_o(n,m);
//printf("\n(%d)10=(",n);
//printf(")%d",m);
getch();

}


图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-05-26 01:01
    关注

    while((s.top == s.base))
    ->
    while((s.top != s.base))

    评论

报告相同问题?

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序