废话不多说,直接上代码:
#include<iostream>
using namespace std;
int main(){
long num; //接受需转换的数字
int a[50]; //取余后的数字暂时存放到数组,然后倒序输出
int i=0,j,base,m;
cout<<"请输入要转换的数字"<<endl;
cin>>num;
cout<<"请输入要转换的进制"<<endl;
cin>>base;
cout<<num<<"=";
//循环取余
while(num!=0)
{
m=num%base;
num/=base;
i++;
a[i]=m;
}
//将数字反序输出
for(j=i;j>=1;j--)
{
if(a[j]>=10) //当取余后的数字大于等于10,说明最少为11进制
cout<<(char)(a[j]+55); //以字符型输出字母
else
cout<<a[j];
}
return 0;
}
有任何问题,恳请指正
手敲不易,如果觉得不错还请点赞支持下~