#include<stdio.h>
#define size 40
typedef struct{
int data[size];
int top;
}Stack;
void clear_Stack(Stack *s){//清空栈
s->top=0;
}
int Is_Empty(Stack *s){//判空
if(0==s->top){
return 1;
}
return 0;
}
int Is_Full(Stack *s){//判满
if(size==s->top){
return 1;
}
return 0;
}
void in_Stack(Stack *s,int x){//入栈
if(!Is_Full(s)){
s->data[s->top]=x;
s->top++;
}
}
void out_Stack(Stack *s,int *x){//出栈
if(!Is_Empty(s)){
s->top--;
*x=s->data[s->top];
}
}
void all_Stack(Stack *s){//遍历栈
int i;
for(i=s->top-1;i>=0;i--){
printf("%c",s->data[i]);
}
}
int main(){
Stack s;
clear_Stack(&s);
// in_Stack(&s,1);
// in_Stack(&s,2);
// in_Stack(&s,3);
// in_Stack(&s,4);
// in_Stack(&s,5);
//
// out_Stack(&s);
char num[]="0123456789ABCDEF";
int N=2016;
int mod;
while(N!=0){
mod=N%16;
in_Stack(&s,mod);
N/=16;
}
int e=0;
while(!Is_Empty(&s)){
out_Stack(&s,&e);
printf("%c",num[e]);
}
all_Stack(&s);
printf("\n");
return 0;
}
进制转换--c语言栈实现
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...