Dùng ngăn xếp đổi số nguyên dương sang Thập lục phân

C1 : 

#include <conio.h>
#include <stdio.h>
#include <E:\A_STKLIB.CPP>
int main (){
    Stack S;
    MakeNull_Stack(&S);
    int n, m;
    printf(“\n\nNhap vao mot so nguyen duong : “); scanf(“%d”,&n);
    if (n==0) printf(“\n\n0”);
    else {
         while (n!=0){
               m=n%16;
               switch(m){
                      case 10 : Push(‘A’,&S); break;
                      case 11 : Push(‘B’,&S); break;
                      case 12 : Push(‘C’,&S); break;
                      case 13 : Push(‘D’,&S); break;
                      case 14 : Push(‘E’,&S); break;
                      case 15 : Push(‘F’,&S); break;
                      default : Push(m+48,&S); break;
               }
               n=n/16;
         }
    }
    while (!Empty_Stack(S)){
          printf(“%c “,Top(S));
          Pop(&S);
    }
    getch();
}

________________

C2 : 

int n,t;
    Stack S;
    MakeNull_Stack(&S);
    printf(“\nNhap N = “); scanf(“%d”,&n);
    if (n==0) printf(“\nThap luc phan : 0”);
    else {
         while (n>0){
               t= n%16;
               Push(t,&S);
               n=n/16;
         }
    printf(“\n\nThap luc phan : “);
    while (!Empty_Stack(S)){
          switch(Top(S)){
               case 10 : printf(“A”); break;
               case 11 : printf(“B”); break;
               case 12 : printf(“C”); break;
               case 13 : printf(“D”); break;
               case 14 : printf(“E”); break;
               case 15 : printf(“F”); break;
               default: printf(“%d”,Top(S));
          }
              Pop(&S);
        }
    }
        getch ();
      return 0;
}
//Nhap chuoi tu ban phim, @ dung va in nguoc lai
void Edit(){
     Stack S;
     char c;
     MakeNull_Stack(S);
     do{
        c=getchar();
        Push(c,S);
        }while(c!=’@’);
     printf(“\nChuoi theo thu tu nguoc lai la : “);
     while (!Empty_Stack(S)){
           printf(“%c”, Top(S));
           Pop(S);
     }
}