// 111111111111.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include
#include
#define MaxSize 100
//用栈的方法
typedef struct {
int data[MaxSize];
int top;
}Stack;//顺序栈,也可用链栈
void InitStack(Stack &S)//初始化栈
{
S.top=-1;
}
int push(Stack &S,int x)//入栈
{
if(S.top==MaxSize)
return 0; //栈满
else{
S.top++;
S.data[S.top]=x;
return 1;
}
}
int pop(Stack &S,int &x)//出栈
{
if(S.top==-1)
return 0; //栈空
else{
x=S.data[S.top];
S.top--;
return 1;
}
}
void display(Stack &S)
{
int x;
while(S.top!=-1)
{
pop(S,x);
printf("%x",x);
}
}
void func(int n,int m)//n为十进制数,m为2,8,或16
{
Stack S;
InitStack(S);
while(n!=0)
{
push(S,n%m);
n=n/m;
}
display(S);
}
int main(int argc, char* argv[])
{
int n;
printf("\n请输入一个数:");
scanf("%d",&n);
int m=2;
func(n,m);
m=8;
func(n,m);
m=16;
func(n,m);
return 0;
}