下载此文档

进制转换.doc


文档分类:通信/电子 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
题目:非负十进制数与二进制、八进制、十六进制的转换;
实现过程:
定义一个顺序栈,代码如下:
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct SqStack{
int *base;
int *top;
int stacksize;
};
编写栈的一些基本操作函数,代码如下:
int InitStack(SqStack &S){
=(int *) malloc (STACK_INIT_SIZE * sizeof(int));
if(!) cout<<"OVERFLOW"<<endl;
=;
=STACK_INIT_SIZE;
return 1;
}//构建一个空栈S
int Push(SqStack &S,int e){
if(->=){
=(int *)realloc(,(+STACKINCREMENT)*sizeof(int));
if(!)cout<<"OVERFLOW"<<endl;
=+;
=+STACKINCREMENT;
}
*++=e;
return 1;
}//插入一个元素e为新的栈顶元素
int Pop(SqStack &S,int &e){
if(==)return 0;
e=*--;
return 1;
}//若栈不空,则删除S的栈顶元素,用e返回其值
int StackEmpty(SqStack S){
if(==)return 1;
return 0;
}//判断栈是否空
主函数实现,二进制与八进制的转换类似,这里以八进制为例(二进制只需将代码中的8换成2),代码如下:
void main(){
SqStack S;
int e;
InitStack(S);
int N;
cout<<"请输入一个非负的十进制数"<<endl;
cin>>N;
if(N>=0)//判断输入的十进制数是否

进制转换 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wzt520728
  • 文件大小21 KB
  • 时间2018-05-24
最近更新