C++ 通过堆栈实现进制转换的代码
#include<iostream.h> #define ten 10 #define hundred 100 struct sqstack { int* p; int top; int size; }; void pop(sqstack &q,int &e) { e=q.p[--q.top]; } void push(sqstack &q,int e) { q.p[q.top]=e; q.top++; } void initstack(sqstack &q) { q.top=0; q.size=0; q.p=new int[hundred]; if(q.p)cout<<"OK"<<endl; } void main() { int a,e=0; sqstack q; initstack(q); cout<<"输入要转化成8进制的10进制数"<<endl; cin>>a; while(a) { push(q,a%2); a=a/2; } cout<<q.top<<endl; while(q.top) { pop(q,e); cout<<e; } }