/*通过输入十进制, 然后通过本程序就可以转换 任何你想要的进制*/ #include<iostream> #include<vector> #include<algorithm> #include<iterator> #include<sstream>//最常使用它就是字符串的格式性转化 using namespace std; vector<string> stack; void dec_to_any(int thiz,int r_thiz) { int mode_ = 0; string str_mode_ = ""; stringstream ss; while(thiz) { mode_ = thiz % r_thiz; if(mode_ > 9) { char ch = static_cast<char>(65 + mode_ - 10); ss<<ch; str_mode_ = ss.str(); ss.str(""); } else { ss<<mode_; str_mode_ = ss.str(); ss.str("");//这个函数是ostringstream的一个str()的第二个版本 } stack.push_back(str_mode_); thiz /= r_thiz; } for(vector<string>::iterator iter = stack.end()-1;iter >= stack.begin();iter--) { cout<<*iter; } cout<<endl; stack.clear(); } int main() { int decimal = 0; int my_data = 0; cout<<"输入你的要转化的进制和数字"<<endl; while(cin>>decimal>>my_data) { dec_to_any(my_data,decimal); } return 0; } 大家可以测试一下,有什么问题可以说说,我想想看能不能有什么可以改进的.....