//十进制转任意进制
#include <iostream>
using namespace std;
void convert(int num,int base,char str[])
{
if(base<2 || base >37) return;
int arr[10],i=0,j=0;
if(num<0)
{
str[j++]='-';
num=-num;
}
while(num)
{
arr[i]=num%base;
num/=base;
i++;
}
while(i--)
{
if(arr[i]>=10)
str[j]=arr[i]-10+'a';
else
str[j]=arr[i]+'0';
j++;
}
str[j]='\0';
}
int main()
{
int num;
int base;
char str[10];
cin>>num>>base;
convert(num,base,str);
cout<<"10进制="<<num<<","<<base<<"进制="<<str<<endl;
return 0;
}
本文介绍了一个简单的C++程序,该程序可以将十进制数转换为2到37之间的任意进制数,并提供了完整的代码实现。通过使用字符数组来存储转换后的结果,程序能够正确处理大于10的数值对应的字母表示。
1178

被折叠的 条评论
为什么被折叠?



