#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;
}
网友评论