这是一种比较简单的方式进行进制转换,利用堆栈的先进后出,先求余后放入栈中,再从栈中拿出来。

#include <iostream>
#include <stack>

using namespace std;

int main()
{
    stack <int>v;
    int n,d;
    cout << "请输入你要转换的十进制数:";
    cin >> n;
    cout << "请输入你的目标进制数:";
    cin >> d;
    while(n)
    {
        v.push(n % d);
        n = n / d;
    }
    while(!v.empty())
    {
        cout << v.top();
        v.pop();///pop的返回值类型为空
    }
    return 0;
}