3.2 利用栈实现把十进制整数转换为二进制至十六进制之间的任一进制数并输出的功能
/*我称这题为很经典*/
#include<iostream>
#include<stack>
//#include<string>
using namespace std;
stack<char>s;//申请一个栈容器s
string Convert(int num,int n){
char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
string c;//转换的值
while(num!=0){
s.push(a[num%n]);//每位对应的值
num/=n;//位数
}
while(!s.empty()){
c+=s.top();
s.pop();
}
return c;
}
int main()
{
int num,n; cin>>num>>n;//n在2-16之间,为想要转换的进制
string t=Convert(num,n);
cout<<t;//打印转换后的值
return 0;
}