想法:主要注意几个点,数据是个位数的情况要补0,还有全部是0的情况。
#include<iostream>
using namespace std;
void solve(int x)
{
char a[30];
int l=0;
if(x==0)
cout<<"00";
if(x<13){
while(x!=0){
if(x%13>9)
a[l]='A'+x%13-10;
else
a[l]='0'+x%13;
x=x/13;
l++;
}
for(int i=l-1; i>-1; i--){
cout<<'0'<<a[i];
}
return;
}
while(x!=0){
if(x%13>9)
a[l]='A'+x%13-10;
else
a[l]='0'+x%13;
x=x/13;
l++;
}
for(int i=l-1; i>-1; i--){
cout<<a[i];
}
}
int main()
{
int x,y,z;
cin>>x>>y>>z;
cout<<"#";
solve(x);
solve(y);
solve(z);
return 0;
}