标题:数制转换的问题
取消只看楼主
hanshanyeyu
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-26
 问题点数:0 回复次数:1 
数制转换的问题

typedef int SElemType;
typedef int Status;
typedef struct{

SElemType *base;
SElemType *top;
int stacksize;
}SqStack;

#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define OVERFLOW -1
#define ERROR 0
#include<malloc.h>
#include<stdio.h>

Status InitStack(SqStack &s)
{
s.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!s.base) return(OVERFLOW);
s.top=s.base;
s.stacksize=STACK_INIT_SIZE;
return OK;
}

Status Push(SqStack &s,SElemType e)
{
SElemType*l_temp;
if((s.top-s.base)>=s.stacksize)
{
l_temp=(SElemType*)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof(SElemType));
if(!l_temp) return(OVERFLOW);
s.base=l_temp;
s.top=s.base+s.stacksize;
s.stacksize+=STACKINCREMENT;
}
*(s.top++)=e;
return OK;
}

Status Pop(SqStack &s,SElemType &e)
{
if(s.top==s.base) return ERROR;
e=*(--s.top);
return OK;
}
int StackEmpty(SqStack s)
{
if(s.base=s.top) return 1;
else return 0;
}
void conversion(void)
{
SqStack s;
int N,b;
SElemType e;

InitStack(s);
scanf("%d%d",&N,&b);
while(b>1&&N>0)
{
Push(s,N%b);
N=N/b;
}
while(!StackEmpty(s))
{
Pop(s,e);
printf("%d",e);
}
}
void main()
{
conversion();
}


不知道为什么总是得不到正确的结果!

搜索更多相关主题的帖子: 数制 base define SElemType int 
2006-11-05 23:06
hanshanyeyu
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-26
得分:0 


不知道为什么总是得不到正确的结果!


2006-11-05 23:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-100963-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.233100 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved