| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:数制转换的问题
取消只看楼主 加入收藏
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
快速回复:数制转换的问题
数据加载中...
 
   



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

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