最简单易懂的写法就是运用数组。
#include <iostream>
using namespace std;
char ans[205];
int main(){
int N, R, m=0, now;
cin>>N>>R;
if( N < 0 ){
cout<<"-"; //有可能是负整数
N = -N;
}
while(N){
now = N % R;
if(now <= 9){
ans[m++] = '0' + now; //ASCll表的运用
}else{
ans[m++] = 'A' + now - 10;
}
N /= R;
}
if(m == 0)
cout<<0;
for(int i=m-1; i>=0; i--) //利用for循环把反序输出成正序
cout<<ans[i];
cout<<endl;
return 0;
}