结合栈 10进制转换16进制数 输出顺序总是相反 哪位大神帮忙看下
#include<iostream>#include<stdlib.h>
using namespace std;
#define maxsize 20
typedef struct{
int *base;
int *top;
}sqstack;
void initsqstack(sqstack &s)
{s.base=(int*)malloc(sizeof(int)*maxsize);
if(!s.base)exit(0);
s.top=s.base;
}
void push(sqstack &s,int j)
{*s.top=j;
s.top=s.top+1;
}
void pop(sqstack &s)
{cout<<"hexadecimal number is:\t";
s.top=s.top-1;
while(s.top>=s.base)
{cout<<*s.top;
s.top=s.top -1;
}
}
int main()
{sqstack sq;
initsqstack(sq);
int n,j;
cout<<"please enter decimal number:\t";
cin>>n;
while(n>16)
{j=n/16;
n=n%16;
push(sq,j);
}
j=n;
push(sq,j);
cout<<*sq.base<<endl;
pop(sq);
return 0;
}
结合栈 10进制转换16进制数 输出顺序总是相反 哪位大神帮忙看下